一分钟学会使用gson

Gson是1个超好用的json-对象相互转换的工具。如果您还没有,可以到这里去下载gson2.2.2.jar

首先准备两个类,以下:

public class One {
int integer = 10;
String a = null;
Two comTwo = new Two();

@Override
public String toString() {
return "integer: " + integer + " ; a: " + a +" ; "+comTwo.toString() ;
}
}

public static class Two {
int twoINt;
String twoStr;

@Override
public String toString() {
// TODO Auto-generated method stub
return "twoInt: " + twoINt + " ; twoStr: " + twoStr;
}

}

new 1个One对象,将其转换为json:

<span style="color:#006600;">Gson gson = new Gson();
One one = new One();
String oneJstr = gson.toJson(one);
System.out.println(oneJstr);</span>

结果为:

<span style="color:#006600;">{"integer":10,"comTwo":{"twoINt":0}}</span>

增加对变量a赋值:

Gson gson = new Gson();
One one = new One();
one.a = " zhang ting";
String oneJstr = gson.toJson(one);
System.out.println(oneJstr);

结果为:

<span style="color:#990000;">{"integer":10,"a":" zhang ting","comTwo":{"twoINt":0}}</span>

从json数据中构造One对象:

String js = "{"integer":10,"comTwo":{"twoInt":20}}";
One oneObj = gson.fromJson(js, One.class);
System.out.println(oneObj);

结果为:

<span style="color:#006600;">integer: 10 ; a: null ; twoInt: 0 ; twoStr: null</span>

再复杂1点,增加两个类:

public static class OneChild extends One{
String three = "i'm three ";
List<String> list;
List<CompObj> obList;
public OneChild(){
list = new ArrayList<String>();
list.add("XXX");
list.add("ting");
obList = new ArrayList<CompObj>();
CompObj d1 = new CompObj();
d1.data="good";
CompObj d2 = new CompObj();
d2.data = "zhang";
obList.add(d1);
obList.add(d2);
}
}
public static class CompObj{
String data = " comp obj";

}

构造OneChild对象:

OneChild child = new OneChild();
String thJstr = gson.toJson(child);
System.out.println(thJstr);

输出结果为:

<span style="color:#006600;">{"three":"iu0027m three ","list":["XXX","ting"],"obList":[{"data":"good"},{"data":"zhang"}],"integer":10,"comTwo":{"twoINt":0}}</span>

构造列表(数组):

Type listType = new TypeToken<List<String>>() {}.getType();
List<String> target = new LinkedList<String>();
target.add("blah");
target.add("gao");
target.add("zhang ting");

// Gson gson = new Gson();
String json = gson.toJson(target, listType);
System.out.println(json);

结果为:

<span style="color:#990000;">["blah","gao","zhang ting"]</span>

到此gson你就学会了,下面总结使用gson,需要注意的内容:

1、json数据中的key要和java对象中的变量名1致(辨别大小写)

2、只有java对象有值(默许值都可以)才会转化到json数据中。

3、java对象中的变量没必要和json数据中的key逐一对应。

4、子类中找不到的变量会自动到父类中寻觅。

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » 一分钟学会使用gson

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡