gson解析php,一分钟学会使用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:

Gson gson = new Gson();

One one = new One();

String oneJstr = gson.toJson(one);

System.out.println(oneJstr);

结果为:

{"integer":10,"comTwo":{"twoINt":0}}

增加对变量a赋值:

Gson gson = new Gson();

One one = new One();

one.a = " zhang ting";

String oneJstr = gson.toJson(one);

System.out.println(oneJstr);

结果为:

{"integer":10,"a":" zhang ting","comTwo":{"twoINt":0}}

从json数据中构造One对象:

String js = "{"integer":10,"comTwo":{"twoInt":20}}";

One oneObj = gson.fromJson(js, One.class);

System.out.println(oneObj);结果为:

integer: 10 ; a: null ; twoInt: 0 ; twoStr: null

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

public static class OneChild extends One{

String three = "i'm three ";

List list;

List obList;

public OneChild(){

list = new ArrayList();

list.add("XXX");

list.add("ting");

obList = new ArrayList();

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);

输出结果为:

{"three":"iu0027m three ","list":["XXX","ting"],"obList":[{"data":"good"},{"data":"zhang"}],"integer":10,"comTwo":{"twoINt":0}}

构造列表(数组):

Type listType = new TypeToken>() {}.getType();

List target = new LinkedList();

target.add("blah");

target.add("gao");

target.add("zhang ting");

// Gson gson = new Gson();

String json = gson.toJson(target, listType);

System.out.println(json);

结果为:

["blah","gao","zhang ting"]

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值