gson java对象与json转换
2014-03-11 16:43
423 查看
一. Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。
Gson里最重要的对象有2个Gson 和 GsonBuilder。
Gson有2个最基本的方法
1) toJson() – 转换java 对象到JSON
2) fromJson() – 转换JSON到java对象
二. 几个简单的例子。
exp1(一个简单对象object和json之间的转换):
exp2(一个复杂对象object和json之间的转换):
json的结构如下:
{
"org": {
"orgId": "orgId",
"orgName": "orgName"
},
"biz": [
{
"appcode": 55,
"subscode": "subscode0"
},
{
"appcode": 66,
"subscode": "subscode1"
}
]
}
Gson里最重要的对象有2个Gson 和 GsonBuilder。
Gson有2个最基本的方法
1) toJson() – 转换java 对象到JSON
2) fromJson() – 转换JSON到java对象
二. 几个简单的例子。
exp1(一个简单对象object和json之间的转换):
public class MsgInfo2 { private String message; private String flag; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public String getFlag() { return flag; } public void setFlag(String flag) { this.flag = flag; } } public class Test1 { public static void main(String[] args) { MsgInfo2 m2 = new MsgInfo2(); m2.setFlag("00"); m2.setMessage("message"); tojson(m2); String json = "{'message':'message1','flag':'00'}"; toObject(json); } public static void tojson(MsgInfo2 m) { // 将对象编译成json Gson gson = new Gson(); String result = gson.toJson(m); System.out.println(result); // 输出:{"message":"message","flag":"00"} } public static void toObject(String m) { // 将json编译成对象 Gson gson = new Gson(); MsgInfo2 msg = gson.fromJson(m, MsgInfo2.class); System.out.println(msg.getFlag());//输出:00 System.out.println(msg.getMessage());//输出:message1 } }
exp2(一个复杂对象object和json之间的转换):
json的结构如下:
{
"org": {
"orgId": "orgId",
"orgName": "orgName"
},
"biz": [
{
"appcode": 55,
"subscode": "subscode0"
},
{
"appcode": 66,
"subscode": "subscode1"
}
]
}
public class ComOpen { private Org org; private List<BizObject> biz; public Org getOrg() { return org; } public void setOrg(Org org) { this.org = org; } public List<BizObject> getBiz() { return biz; } public void setBiz(List<BizObject> biz) { this.biz = biz; } } public class Org { private String orgId; private String orgName; public String getOrgId() { return orgId; } public void setOrgId(String orgId) { this.orgId = orgId; } public String getOrgName() { return orgName; } public void setOrgName(String orgName) { this.orgName = orgName; } } public class BizObject { private int appcode; private String subscode; public String getSubscode() { return subscode; } public void setSubscode(String subscode) { this.subscode = subscode; } public int getAppcode() { return appcode; } public void setAppcode(int appcode) { this.appcode = appcode; } } /** * 测试java对象和json转换 * * @author yangliang * @version 1.0 * @created 2011-10-11 下午03:14:04 * @history * @see */ public class Test2 { public static void main(String[] args) { toJson(); toObject(); } public static void toJson(){ ComOpen como = new ComOpen(); Org org = new Org(); org.setOrgId("orgId"); org.setOrgName("orgName"); como.setOrg(org); List<BizObject> biz = new ArrayList<BizObject>(); BizObject bizObject = new BizObject(); bizObject.setAppcode(55); bizObject.setSubscode("subscode0"); BizObject bizObject1 = new BizObject(); bizObject1.setAppcode(66); bizObject1.setSubscode("subscode1"); biz.add(bizObject); biz.add(bizObject1); como.setBiz(biz); Gson gson=new GsonBuilder().create(); String result = gson.toJson(como); System.out.println(result); //输出{"org":{"orgId":"orgId","orgName":"orgName"},"biz":接下行 //[{"appcode":55,"subscode":"subscode0"},{"appcode":66,"subscode":"subscode1"}]} } public static void toObject(){ String json = "{'org':{'orgId':'orgId','orgName':'orgName'},'biz':" + "[{'appcode':55,'subscode':'subscode0'},{'appcode':66,'subscode':'subscode1'}]}"; Gson gson=new Gson(); ComOpen m3 = gson.fromJson(json, ComOpen.class); System.out.println(m3.getBiz().size());//2 System.out.println("orgId:"+m3.getOrg().getOrgId());//orgId:orgId System.out.println("appcode:"+ m3.getBiz().get(0).getAppcode());//appcode:55 } }
相关文章推荐
- 使用Gson实现Json和Java对象的转换
- Gson把json串转换成java实体对象
- gson(JSON字符串转换成一个相等的Java对象)
- <摘录>Gson对Java嵌套对象和JSON字符串之间的转换
- Gson在java对象和json字符串之间转换
- FastJson、Jackson、Gson进行Java对象转换Json的细节处理
- 谷歌GSON可以把Java对象转换成JSON,也可以把JSON换成一个相等的Java对象
- 使用Gson将Java对象转换为JSON
- GSON 转换JSON为JAVA对象的日期坑
- GSON(JSON字符串转换成一个相等的Java对象)
- 使用Gson将Java对象转换为JSON
- 翻译之使用Gson将java对象转换为json对象
- Gson实现 java对象和json互相转换
- 百度天气api开发 全解析xml和json格式 使用json-lib jsonObject、 Gson 方式把json 转换成 java对象
- 【转】使用Gson将Java对象转换为Json
- Gson详解:Java对象与JSON相互转换的利器
- Google-gson, 将JSON 转换为 Java 对象或者将Java对象转换成JSON 的Java库,可以在Android上使用
- Gson在java对象和json字符串之间转换
- Gson对Java嵌套对象和JSON字符串之间的转换