博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用Google提供的Gson解析JSON数据
阅读量:6293 次
发布时间:2019-06-22

本文共 1196 字,大约阅读时间需要 3 分钟。

hot3.png

解析Json也就是触类旁通的一个过程,废话不说,比如我们要解析一个下面这种的Json,我们用的是Google的一个开源Gson:

String json = {"a":"100","b":[{"b1":"b_value1","b2":"b_value2"}{"b1":"b_value1","b2":"b_value2"}],"c":{"c1":"c_value1","c2":"c_value2"}"points":[[534.654564,566.546654,4856.5454656],[534.654564,566.546654,4856.5454656],[534.654564,566.546654,4856.5454656],[534.654564,566.546654,4856.5454656]]}

首先我们需要定义一个序列化的Bean,这里采用内部类的形式,看起来会比较清晰一些:

public class JsonBean {   public String a;   public List b;   public C c;   public List
> points;   public static class B {      public String b1;      public String b2;   }  public static class C {      public String c1;      public String c2;   }}//Bean里边的get和set方法就省略不写了,规范点还是要加上的

定义JavaBean需要注意几点:

    1、内部嵌套的类必须是static的,不然解析会出错;
    2、类里面的属性名必须跟Json字段里面的Key是一模一样的;
    3、内部嵌套的用[]括起来的部分是一个List,List里边是B对象,所以定义为 public List<B> b;
    4、内部嵌套的用{}括起来的是直接的C对象,所以定义为 public C c;
    5、当里边的数据是[[***,***,***]],这个时候就用List<List<Double>> points;Double也即double,不是对象哦。

当这些都弄好的时候,就到我们解析的main方法里边,如下。

         Gson gson = new Gson(); 
         JsonBean jsonBean = gson.fromJson(json, JsonBean.class);
    如果需要解析的Json嵌套了很多层,同样可以可以定义一个嵌套很多层内部类的Bean,需要细心的对照Json字段来定义哦。

*参考

转载于:https://my.oschina.net/AmosWang/blog/809270

你可能感兴趣的文章
Android——4.2 - 3G移植之路之 APN (五)
查看>>
Linux_DHCP服务搭建
查看>>
[SilverLight]DataGrid实现批量输入(like Excel)(补充)
查看>>
秋式广告杀手:广告拦截原理与杀手组织
查看>>
翻译 | 摆脱浏览器限制的JavaScript
查看>>
闲扯下午引爆乌云社区“盗窃”乌云币事件
查看>>
02@在类的头文件中尽量少引入其他头文件
查看>>
JAVA IO BIO NIO AIO
查看>>
input checkbox 复选框大小修改
查看>>
BOOT.INI文件参数
查看>>
vmstat详解
查看>>
新年第一镖
查看>>
unbtu使用笔记
查看>>
OEA 中 WPF 树型表格虚拟化设计方案
查看>>
Android程序开发初级教程(一) 开始 Hello Android
查看>>
使用Gradle打RPM包
查看>>
“我意识到”的意义
查看>>
淘宝天猫上新辅助工具-新品填表
查看>>
再学 GDI+[43]: 文本输出 - 获取已安装的字体列表
查看>>
nginx反向代理
查看>>