zoukankan      html  css  js  c++  java
  • [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);
                    }
                }
            }
        }
    }

  • 相关阅读:
    阿里云 redis 通过rinetd 进行端口透传
    Linux文件系统的实现
    门外汉的IT
    被解放的姜戈05 黑面管家
    被解放的姜戈04 各取所需
    被解放的姜戈03 所谓伊人
    统计Go, Go, Go
    被解放的姜戈02 庄园疑云
    被解放的姜戈01 初试天涯
    亚马逊云架设WordPress博客
  • 原文地址:https://www.cnblogs.com/share23/p/9961713.html
Copyright © 2011-2022 走看看