Gson
苍鹰蛟龙
这个作者很懒,什么都没留下…
展开
-
2.1、用JsonParser解析json树模型
解析json字符串可以像解析DOM一样,解析每一个节点。Gson的jar包中提供了JsonParser类,专门用于解析json字符串的,注意只是json节点的内容解析出来,并不像前两节把整个json字符串反序列化为一个对象。 public static void main(String[] args) { String jsonString = "{\"id\":1,...原创 2018-06-02 18:14:35 · 26084 阅读 · 1 评论 -
2.2、用JsonReader解析文件流中的json
有时,json字符串存储在一个文件中,Gson中提供了JsonReader来处理此种情况,只需要为json文件创建一个字符流对象,并把改字符流对象传给JsonReader即可。 例如在“e:/user.json”文件中有如下内容{ "id" : "2", "name" : "lzj", "age" :原创 2018-06-02 22:14:43 · 13213 阅读 · 0 评论 -
1.3、java中数组、集合、泛型与json的序列化和反序列化
1、json与java中的数组序列化与反序列化 /*json与java中的数组序列化与反序列化*/ @Test public void arrayBetweenJsonJava(){ Gson gson = new Gson(); /*把java中数组序列化为json形式*/ String[] src = {"a", "b"...原创 2018-06-02 23:24:35 · 7340 阅读 · 0 评论 -
4、java对象与json序列化和反序列化进阶——TypeAdapter适配器
在Gson中提供了TypeAdapter适配器用于处理java对象与json之间的不规则序列化与反序列化问题。 例如,有一json文件 “e:/person”,其内容为{ "name" : "lzj", "cars" : ["baoma", "audi"]}任务一: 把e:/person文件中的jso原创 2018-06-03 12:06:50 · 1021 阅读 · 0 评论 -
5.1、Gson拾遗——serializeNulls支持空对象序列化
在对象序列化为json字符串时,默认是不序列化NULL对象的,如果在序列化时设置serializeNulls了,就可以支持NULL的序列化。注意serializeNulls对反序列化没有影响。 示例如下 1、注释掉builder.serializeNulls() public static void main(String[] args) { GsonBuilder...原创 2018-06-03 12:15:16 · 6582 阅读 · 2 评论 -
5.2、Gson拾遗——对象中属性有选择性的序列化为json字符串
对象序列为json字符串时,可以指定对象中某些属性或者排除某些属性序列化为json字符串。Gson中提供了两种方式。方式一在要序列化的对象属性上用注解@Expose指定,并在创建Gson的时候,用excludeFieldsWithoutExposeAnnotation()激活注解。public class Person { private int id; @Expo...原创 2018-06-03 16:27:59 · 1112 阅读 · 0 评论 -
3、解析复杂Json进阶
场景一没有头的Json数组 “e:/person”文件内容如下,文件中是没有头的json数组[ { "id" : 1, "name" : "lzj", &quot原创 2018-06-03 23:05:11 · 787 阅读 · 0 评论 -
1.1 java对象与json的序列化与反序列化
Google Gson是一个开源的基于java的库,用于将java对象序列化为json,或者将json返序列化为java对象。 下面以Gson的入门程序为例,创建一个maven工程,并导入Gson的依赖<dependency> <groupId>com.google.code.gson</groupId> <artifactId&am原创 2018-05-31 23:04:06 · 477 阅读 · 0 评论 -
1.2、java中的原始数据类型与Json序列化与反序列化
1、将java中的原始数据类型序列化成Json字符串 java中原始数据类型即为int、String、Integer等。 @Test public void primitiveToJson(){ Gson gson = new Gson(); int id = 1; int[] array = {10, 20, 30}; ...原创 2018-05-31 23:32:03 · 947 阅读 · 0 评论