博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gson解析json数据
阅读量:6529 次
发布时间:2019-06-24

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

使用Gson解析json数据

1.当json数据是JsonObject时对应大括号
2.当json数据是jsonArray时对应中括号
[Person [name=xiaoming, age=1, address=meiguo, colorString= null, height =0], Person [name=xiaoming1, age=2, address=meiguo1, colorString= null, height =0], Person [name=xiaoming2, age=3, address=meiguo2, colorString= null, height =0]]
[{"name":"xiaoming","age":1,"address":"meiguo","colorString":null,"height":0},{"name":"xiaoming1","age":2,"address":"meiguo1","colorString":null,"height":0},{"name":"xiaoming2","age":3,"address":"meiguo2","colorString":null,"height":0}]

/** * @param args * 实体类中增加属性,而json数据中没有该字段,不影响生成实体类,则生成的实体json数据不包含该字段部分为默认值 * 使用Gson gson = new GsonBuilder().serializeNulls().create();在json数据的字段值值为空的时候也保留该字符串 */public static void main(String[] args) {        // TODO Auto-generated method stub            String jsonString ="{\"name\":\"xiaoming\",\"age\" : 1,\"address\":\"meiguo\"}";                String arrayString ="{\"list\":[{\"name\":\"xiaoming\",\"age\" : 1,\"address\":\"meiguo\"}," +                "{\"name\":\"xiaoming1\",\"age\" : 2,\"address\":\"meiguo1\"}," +                "{\"name\":\"xiaoming2\",\"age\" : 3,\"address\":\"meiguo2\"}]}";        String arrayStrings ="[{\"name\":\"xiaoming\",\"age\" : 1,\"address\":\"meiguo\"}," +                "{\"name\":\"xiaoming1\",\"age\" : 2,\"address\":\"meiguo1\"}," +                "{\"name\":\"xiaoming2\",\"age\" : 3,\"address\":\"meiguo2\"}]";testJsonToObject(jsonString);testObjectToJson(arrayString);    tokenObjectToJson(arrayStrings);    }    public static void testJsonToObject(String jsonString){        Gson gson = new Gson();        Bean2.Person fromJson = gson.fromJson(jsonString,Bean2.Person.class);        System.out.println(fromJson);                    }    public static void testObjectToJson(String json) {        Gson gson = new Gson();        Bean2 bean2 = gson.fromJson(json,Bean2.class);        System.out.println(bean2);        System.out.println(bean2.list);            }    //使用TypeToken解析成集合    public static void tokenObjectToJson(String json) {        //在值为空的时候也保留该字符串        Gson gson = new GsonBuilder().serializeNulls().create();        Type type = new TypeToken
>(){}.getType(); Object fromJson = gson.fromJson(json,type); System.out.println(fromJson); String json2 = gson.toJson(fromJson);//生成json数据 System.out.println(json2); }} class Bean2 { List
list; public class Person { public String name; public int age; public String address; public String colorString;//增加属性,json字段中没有 public int height;//增加属性,json字段中没有 @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", address=" + address + ", colorString= "+colorString+", height ="+height+"]"; } } @Override public String toString() { return "Bean2 [list=" + list + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]"; } }

转载地址:http://qdxbo.baihongyu.com/

你可能感兴趣的文章
Opera 出售细节曝光:昆仑出资1.68亿美元
查看>>
CentOS 5.3 下快速安装配置 PPTP ××× 服务器
查看>>
产品经理学习总结之技术和设计篇
查看>>
23种设计模式(15):备忘录模式
查看>>
java基础学习总结——IO流
查看>>
iOS获取APP ipa 包以及资源文件
查看>>
CentOS 7 关闭启动防火墙
查看>>
Vue-选项卡切换
查看>>
linux网络命令
查看>>
nodejs ejs 请求路径和静态资源文件路径
查看>>
C++小代码
查看>>
记一次思维转变的时刻
查看>>
Oil Deposits
查看>>
poj3984 迷宫问题(简单搜索+记录路径)
查看>>
Linux 服务器buff/cache清理
查看>>
算法试题 及其他知识点
查看>>
php课程---Json格式规范需要注意的小细节
查看>>
hadoop hdfs notes
查看>>
Java反射机制详解(3) -java的反射和代理实现IOC模式 模拟spring
查看>>
(2编写网络)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
查看>>