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
  • 相关阅读:
    Struts2+Spring+Ibatis集成合并
    spring多个定时任务quartz配置
    Quartz作业调度框架
    百度搜索URL参数含义
    代理IP抓取
    解决HttpWebRequest和HtmlAgilityPack采集网页中文乱码问题
    移动端上传头像-相册、拍摄-旋转
    订单倒计时
    css flex布局 实例
    currentTarget与target
  • 原文地址:https://www.cnblogs.com/rulian/p/7804462.html
Copyright © 2011-2022 走看看