您的位置:首页 > Web前端 > JavaScript

Json1:使用gson解析、生成json

2017-02-07 21:20 211 查看
Json解析:

1.json第三方解析包:json-lib、gson、jackson、fastjson等
2.Google-gson只兼容jdk1.5版本以上;JSON-lib分别支持1.4和1.5
3.性能:Gson > Json-lib

包:gson-2.3.jar

特征:

fromJson():Json-解析->对象(反序列化)
toJson() :对象-生成->Json(序列化)

示例:

import com.google.gson.Gson;

public class TestGson {
class Person {
private String name;
private int[] power;
private Horse hs1;
private Horse[] hs2;

public Horse getHs1() {
return hs1;
}

public void setHs1(Horse hs1) {
this.hs1 = hs1;
}

public Horse[] getHs2() {
return hs2;
}

public void setHs2(Horse[] hs2) {
this.hs2 = hs2;
}

public int[] getPower() {
return power;
}

public void setPower(int[] power) {
this.power = power;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

class Horse {
private String type;

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}
}

public static void main(String[] args) {
String strJson = "{'name':'吕奉先','power':[100,30],'hs1':{'type':'赤兔'},'hs2':[{'type':'乌骓'},{'type':'黄标'}]}";

Gson g = new Gson();

// Json->对象
Person p = g.fromJson(strJson, Person.class);
System.out.println(p.name + ":" + p.power[1]);

//对象->Json
p.setName("关羽");
String json = g.toJson(p);
System.out.println(json);
}
}


代码中json字符串的结构化视图:



运行结果:

吕奉先:30
{"name":"关羽","power":[100,30],"hs1":{"type":"赤兔"},"hs2":[{"type":"乌骓"},{"type":"黄标"}]}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: