栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java解析多层嵌套的JSON】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java解析多层嵌套的JSON】

Java解析多层嵌套的JSON 1. com.google.code.gson 1.1 引入依赖

    com.google.code.gson
    gson
    2.8.0

1.2 测试代码
  • 创建JSON解析器 JsonParser parse = new JsonParser();
  • 将String转成jsonObject JsonParser .parse(json).getAsJsonObject();
  • JsonObject.get(“”).getAsInt();
  • JsonObject.get(“”).getAsString();
  • JsonObject.get(“”).getAsJsonArray();
public static void gsonTest(String json){

    //创建JSON解析器
    JsonParser parse = new JsonParser();

    //将String转成jsonObject
    JsonObject jsonObject = parse.parse(json).getAsJsonObject();

    //error
    int error = jsonObject.get("error").getAsInt();
    System.out.println("error: " + error);

    //status
    String status = jsonObject.get("status").getAsString();
    System.out.println("status: " + status);

    //results
    JsonArray results = jsonObject.get("results").getAsJsonArray();
    for (int i = 0; i < results.size(); i++){
        JsonObject jsonObject1 = results.get(i).getAsJsonObject();

        //currentCity
        String currentCity = jsonObject1.get("currentCity").getAsString();
        System.out.println("currentCity" + "-" + i + ": " + currentCity);

        //index
        JsonArray indexes = jsonObject1.get("index").getAsJsonArray();
        for (int j = 0; j < indexes.size(); j++){
            JsonObject jsonObject2 = indexes.get(j).getAsJsonObject();

            //title
            String title = jsonObject2.get("title").getAsString();
            System.out.println("title" + "-" + (j + 1) + ": " + title);

            //zs
            String zs = jsonObject2.get("zs").getAsString();
            System.out.println("zs" + "-" + (j + 1) + ": " + zs);

        }
    }
}

2. net.sf.json.JSONObject 2.1 引入依赖
  • maven依赖如下

    net.sf.json-lib
    json-lib
    2.4
    jdk15// jdk8也适用

2.2 JSONArray

List 转 JSONArray

public static void main(String[] args) {
    ArrayList list = new ArrayList<>();
    list.add(new Stu(2020,"张三"));
    list.add(new Stu(2021,"李四"));
    list.add(new Stu(2022,"王五"));
    JSONArray jSONArray = JSONArray.fromObject(list);
    System.out.println(list);
    System.out.println(jSONArray);

}

2.3 测试代码
public static void jSONObjectTest(String json){

    JSONObject jsonObject = JSONObject.fromObject(json);

    //error
    int error = jsonObject.getInt("error");
    System.out.println("error: " + error);

    //status
    String status = jsonObject.getString("status");
    System.out.println("status: " + status);

    //results
    JSONArray results = jsonObject.getJSONArray("results");
    for (int i = 0; i < results.size(); i++) {

        //currentCity
        String currentCity = results.getJSONObject(i).getString("currentCity");
        System.out.println("currentCity: " + currentCity);
        //index
        JSONArray indexes = results.getJSONObject(i).getJSONArray("index");
        for (int j = 0; j < indexes.size(); j++) {

            //title
            String title = indexes.getJSONObject(j).getString("title");
            System.out.println("title" + "-" + (j + 1) + ": " + title);

            //zs
            String zs = indexes.getJSONObject(j).getString("zs");
            System.out.println("zs" + "-" + (j + 1) + ": " + zs);
        }
    }
}

3. 测试 json
String json = "{n" +
    "    "error": 0,n" +
    "    "status": "success",n" +
    "    "results": [n" +
    "        {n" +
    "            "currentCity": "bj",n" +
    "            "index": [n" +
    "                {n" +
    "                    "title": "穿衣",n" +
    "                    "zs": "较冷",n" +
    "                    "tipt": "穿衣指数",n" +
    "                    "des": "建议着厚外套加毛衣等服装。"n" +
    "                },n" +
    "                {n" +
    "                    "title": "紫外线强度",n" +
    "                    "zs": "中等",n" +
    "                    "tipt": "紫外线强度指数",n" +
    "                    "des": "属中等强度紫外线辐射天气。"n" +
    "                }n" +
    "            ]n" +
    "n" +
    "        }n" +
    "    ]n" +
    "}n";
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/844679.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号