龙空技术网

Java读取复杂嵌套json

tianlongbabu 164

前言:

目前咱们对“java取json”大体比较珍视,同学们都想要学习一些“java取json”的相关内容。那么小编在网上收集了一些有关“java取json””的相关文章,希望姐妹们能喜欢,小伙伴们一起来了解一下吧!

package com.itheima.reggie.utils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import java.io.IOException;import java.util.*;public class KingDeeUtils {    //登录接口    public static void main(String[] args) throws Exception {        // result示例 (json字符串形式)     String resultJson =  "{\"code\":\"ok\",\"data\":{\"msg\":\"success\",\"code\":200,\"data\":{\"total\":1,\"cmd_groups\":[\"SOQE\",\"AAAA\"]}}}";// 将json字符串转换成jsonObject对象        JSONObject jsonObject = JSONObject.parseObject(resultJson);// 方法1:按层级依次取值        JSONObject subData = jsonObject.getJSONObject("data");        System.out.println("subData");        System.out.println(subData);        JSONArray cmdGroups = subData.getJSONObject("data").getJSONArray("cmd_groups");        System.out.println("cmdGroups");        System.out.println(cmdGroups);        for (Object i:cmdGroups) {            System.out.println(i);        }// 方法2: 链式取值        JSONArray demo = jsonObject.getJSONObject("data").getJSONObject("data").getJSONArray("cmd_groups");        System.out.println("demo" + demo);    }}

jsonobj.getString("key")获取字符串,jsonobj.getIntValue("key"), jsonobj.getFloatValue("key"),jsonobj.getInteger("key")获取基本数据类型,jsonobj.getBoolean("key"), jsonobj.getBooleanValue("key")获取布尔值,jsonobj.getJSONArray("key")获取数组,jsonobj.get("key")获取Object对象,jsonobj.getJSONObject("key")获取JSONObject对象

标签: #java取json