[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);
                }
            }
        }
    }
}

 

 

 

 


 

posted @ 2018-11-15 09:34  山间一棵松  阅读(171)  评论(0编辑  收藏  举报