zoukankan      html  css  js  c++  java
  • Json多层对象访问

    背景说明

    本文主要记录演示,利用Gson工具,对多层的 Json 数据进行转换读取的示例。原始 Json 字符串格式化效果如下:

    示例代码

    import java.util.Iterator;
    import com.google.gson.Gson;
    import com.google.gson.GsonBuilder;
    import com.google.gson.JsonArray;
    import com.google.gson.JsonElement;
    import com.google.gson.JsonObject;
    
    public class Lx
    {
        public static void main(String[] args)
        {
            String json="{"name":"张三","canAccess":true,"count":3,"
                    + ""data":{"openid":["onnW20SNugoYLqPNOPExm3xae_os","onnW20cNQF_T_YOLKIAmdwEbELIE","onnW20WYF3UG0RdW5S-GGtdSsSB0"]}}";
            
            //Gson gson = new Gson();
            Gson gson =  new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
            
            
            //字符串转换成对象
            JsonObject obj = gson.fromJson(json, JsonObject.class);
            
            //普通取值
            String name = obj.get("name").getAsString(); //字符串
            boolean canAccess = obj.get("canAccess").getAsBoolean(); //布尔
            int count = obj.get("count").getAsInt(); //数值
            
            System.out.println("姓名:" + name);
            System.out.println("是否可访问:" + canAccess);
            System.out.println("数量:" + count);
            
            //对象及数组
            JsonArray openidArr = obj.get("data").getAsJsonObject().get("openid").getAsJsonArray(); //数组
            for(Iterator<JsonElement> it= openidArr.iterator(); it.hasNext();)
            {
                System.out.println(it.next().getAsString());
            }
        }
    }

    输出结果

    姓名:张三
    是否可访问:true
    数量:3
    onnW20SNugoYLqPNOPExm3xae_os
    onnW20cNQF_T_YOLKIAmdwEbELIE
    onnW20WYF3UG0RdW5S-GGtdSsSB0
  • 相关阅读:
    多种开源OLAP引擎测评报告
    Go的单元测试
    C#的List实现IComparer接口排序实例
    Java 多线程:(一)
    android:theme
    android:excludeFromRecents="true"
    RK:主屏幕
    Gatsby xinhua log boork(三)
    RK:Provision.apk、SettingsProvider的分析、使用
    Camera(一):查看Camera设备详细信息
  • 原文地址:https://www.cnblogs.com/rulian/p/7804462.html
Copyright © 2011-2022 走看看