[JSON_01] JSON 解析
0. 说明
介绍 && 测试 JSON
1. 介绍
  XML 指可扩展标记语言(eXtensible Markup Language)。
  XML 被设计用来传输和存储数据。
  JSON: JavaScript Object Notation(JavaScript 对象表示法)
  JSON 是轻量级的文本数据交换格式
  JSON 是存储和交换文本信息的语法。类似 XML。
  JSON 比 XML 更小、更快,更易解析。
  JSON 对象由 名称/值对组成 名称和值之间用冒号 : 隔开 
  名称必须用双引号 " " 包含起来 
  值可以是任意 JavaScript 数据类型,字符串,布尔,数字 ,数组甚至是对象 
  不同的名称/值对之间用 逗号 , 隔开
示例
{"name":"Tom","age":25}
2. 测试 JSON
【2.1 JSON 文本示例]】
86913510 {"reviewPics":null,"extInfoList":null,"expenseList":null,"reviewIndexes":[2],"scoreList":[{"score":5,"title":"环境","desc":""},{"score":5,"title":"服务","desc":""},{"score":5,"title":"口味","desc":""}]}
【2.2 添加 Maven 依赖】
<!-- fastjson 依赖 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.47</version>
</dependency>
【2.3 TestJson.java】
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.junit.Test; public class TestJson { @Test public void testJson() { // JSON 文本 {"name":"Tom","age":25} String text = "{\"name\":\"Tom\",\"age\":25}"; // 将 JSON 转化为 JSONObject 格式 JSONObject jo = JSON.parseObject(text); // 通过 Key 获取 Value Object name = jo.get("name"); Object age = jo.get("age"); System.out.println(name + ":" + age); } @Test public void testJsonArray() { // JSON 文本 {"person":[{"name":"Tomas","friends":["John","Jim"],"age":18},{"name":"Tom","friends":["Amy","Alice"],"age":28}]} String line = "{\"person\":[{\"name\":\"Tomas\",\"friends\":[\"John\",\"Jim\"],\"age\":18},{\"name\":\"Tom\",\"friends\":[\"Amy\",\"Alice\"],\"age\":28}]}"; // 将 JSON 转化为 JSONObject 格式 JSONObject jo = JSON.parseObject(line); // 通过 Key 获取 Value JSONArray jsonArray = jo.getJSONArray("person"); for (Object object : jsonArray) { // 将 JSON 转化为 JSONObject 格式 JSONObject jo2 = JSON.parseObject(object.toString()); if (jo2.get("name").toString().equals("Tom")) { JSONArray jsonArray2 = jo2.getJSONArray("friends"); for (Object object2 : jsonArray2) { System.out.println(object2); } } } } }
    且将新火试新茶,诗酒趁年华。
                    
                
                
            
        
浙公网安备 33010602011771号