0
点赞
收藏
分享

微信扫一扫

GSON - 基础篇



GSON:Google的GSON,在JSON的基础之上,强化JSON功能。


JSON & GSON 区别:

1、@SerializedName:指定该字段在序列化成 JSON 时的名称。

@SerializedName("w")
private int width;

2、GSON美化JSON格式化.

3、自定义规则:translateName,但@SerializedName一起用时,注解会覆盖translateName。

FieldNamingStrategy customPolicy = new FieldNamingStrategy() {
@Override
public String translateName(Field f) {
return f.getName().replace("_", "");
}
};

GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setFieldNamingStrategy(customPolicy);
Gson gson = gsonBuilder.create();

UserNaming user = new UserNaming("Norman", "norman@futurestud.io", true, 26);
String usersJson = gson.toJson(user);

4、transient,在JavaBean的属性前添加该关键字,在生成JSON时,省略该属性

5、支持互转:

(1)从JSON反解析成JavaBean

import com.google.gson.Gson;  

class TestJsonFromObject {
private int data1;
private String data2;
}

String json = "{'data1':100,'data2':'hello'}";
Gson gson = new Gson();
TestJsonFromObject obj = gson.fromJson(json, TestJsonFromObject.class);

(2)从JavaBean反解析成JSON

class TestObjectToJson {  
private int data1 = 100;
private String data2 = "hello";
}

TestObjectToJson obj = new TestObjectToJson();
Gson gson = new Gson();
String json = gson.toJson(obj);

6、一次性为所有JSON日期字符串类型格式化日期

@Test
public void test() throws IOException {
Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd hh:mm:ss")
.create();
System.out.println(gson.toJson(new Date()));
}

7、对于集合类:List、Set……,GSON可以一 一对应

8、处理大JSON文件 => ​​JSON & GSON - 读取 JSON 文件​​

9、待更新...


举报

相关推荐

0 条评论