在Java开发互联网应用系统的过程中,数据的传递与转换是经常使用的,我在开发的过程中用的最多的是google的Gson,现就其使用的过程中的注意点做一个总结(当然首先要先去下载Gson的jar包,附件提供相应的jar包)。
1、在将Json字符串转换成Json对象,可以做一个静态的装换类,方便在系统开发过程中使用。public class JsonFormat {

private static JsonParser jsonParser=new JsonParser();

public static JsonObject String2Object(String strJson) {;

return jsonParser.parse(strJson).getAsJsonObject();

}

}

public static JsonArray String2Array(String strJson) {

return jsonParser.parse(strJson).getAsJsonArray();

}

JsonObject JsonObject =this.String2Object(new GsonBuilder().create().toJson(egg));//将java(POJO对象)转换成Json对象

2、在实际开发的过程中,Json组织形式会千差万别,这个时候在解析Json对象(eg:jsonObject)的时候就需要根据实际的Json对象调用相应的方法解析。经常使用的方法有:

(1)Json中包含子元素为具体的key-value值:

jsonObject.get("key").getAsString();

(2)Json中包含子元素为数组:

jsonObject.get("key1").getAsJsonArray().get(int i).getAsJsonObject().get("key2").getAsString();//key为Json中的key,就能得到该key所对应的value值;int i比如取数组的第一个,就将参数设置为0

(3)Json中包含子元素为嵌套Json:

jsonObject.get("key1").getAsJsonObject().get("key2").getAsString()

当前,还有其他更复杂的情况,但基本套路是在这些基础之上的。

GSON 英文API地址:http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html

以上内容转自:http://xling09.iteye.com/blog/1960565

最新文章

  1. JQuery easyUI DataGrid 创建复杂列表头(译)
  2. 在v-for中利用index来对第一项添加class(vue2.0)
  3. React Native 接入微博、微信、QQ 登录功能
  4. iOS关于TableViewController和CollectionViewController中self.view心得记录
  5. 关于外部引用JS,中文乱码的问题
  6. .NET微信通过授权获取用户的基本信息
  7. 专门为码农定制的14款创意的T裇(T-Shirt)设计
  8. Servlet能读到JSessionID,读不到其它cookie问题
  9. Fragmen横竖屏切换,导致页面混乱,oncreateView重复调用
  10. nginx上传模块nginx_upload_module使用
  11. SQVI和SAP查询QUERY的区别和使用注意事项
  12. php调用webservice报错Class 'SoapClient' not found
  13. 开机出现loading Operating System的解决方案
  14. newwork setup
  15. MT【284】构造函数的导数的两类题型
  16. ZJOI2018 胖 二分 ST表
  17. Struts2学习第四天——拦截器及文件上传
  18. noip模拟【noname】
  19. Cassandra标准列和超级列
  20. vuejs时间格式化

热门文章

  1. ORA-16009 remote archive log destination must be a STANDBY database
  2. jmeter连接mysql数据库配置
  3. amazeui学习笔记--css(常用组件9)--导航nav
  4. socket长连接的维持
  5. JS中的发布订阅模式
  6. docker 第一课 —— 从容器到 docker
  7. 对Linux下常用头文件总结
  8. windows 开机总动运行bat文件
  9. thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间)
  10. Qt 信号-槽的同步与异步处理