JSON

com.google.gson json字符串的序列化与反序列化

字号+ 作者:H5之家 来源:H5之家 2017-01-29 09:00 我要评论( )

com.google.gson json字符串的序列化与反序列化, 经常做协议的时候用到json,个人习惯是定义协议文档,很少在这中场景中定义类,使用对象. 这里使用一个人物有名字,

  经常做协议的时候用到json,个人习惯是定义协议文档,很少在这中场景中定义类,使用对象.

  这里使用一个人物有名字,性别,有一个物品列表做个简单示例记录.

  序列化

JsonObject jo=new JsonObject(); jo.addProperty("Name", "testName"); jo.addProperty("Sex", "男"); JsonArray jArr=new JsonArray(); for(int i=0;i<3;i++) { JsonObject item=new JsonObject(); item.addProperty("ItemID", i); item.addProperty("ItemName", "name"+i); jArr.add(item); } jo.add("Items",jArr); Logger.info("json:"+jo.toString());

  反序列化

JsonParser jp=new JsonParser(); JsonObject jo2= jp.parse(jo.toString()).getAsJsonObject(); System.out.print("json name:"+jo2.get("Name").getAsString()); System.out.print("json sex:"+jo2.get("Sex").getAsString()); JsonArray jArr2=jo2.getAsJsonArray("Items"); for(int i=0;i<jArr2.size();i++) {   Logger.info("ItemID:"+jArr2.get(i).getAsJsonObject().get("ItemID").getAsInt());   Logger.info("ItemName:"+jArr2.get(i).getAsJsonObject().get("ItemName").getAsString()); }

  java代码比起c#来说,还是繁琐了挺多.不过跨平台,各种开源,各种产品,少了很多局限性和束缚.

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评