Gson的使用(JsonObject)
在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
Gson的使用(JsonObject)的更多相关文章
- Gson基本操作,JsonObject,JsonArray,String,JavaBean,List互转
(转自)https://www.cnblogs.com/robbinluobo/p/7217387.html String.JsonObject.JavaBean 互相转换 User user = n ...
- GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高。
GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 插件地址:https://plugins.jetbr ...
- org.json.JSONObject与com.google.gson.Gson
org.json库为JSON创始人编写的解析JSON的java库,Gson为Google为我们提供的解析JSON格式数据的库. Gson里最重要的对象有2个Gson 和GsonBuilder. Gso ...
- map转换成com.google.gson.JsonObject
String json =new Gson().toJson(map); JsonObject jsonObject =new JsonParser().parse(json).getAsJsonOb ...
- Gson解析的小例子
最近解析些复杂的节点数据解析,用安卓自带的json解析比较麻烦所以只能用Gson解析,所以从网上下了点demo来看看 http://blog.csdn.net/tkwxty/article/detai ...
- Android 利用Gson生成或解析json
目前手机端和服务端数据交流格式一般是json,而谷歌提供了Gson来解析json.下载Gson:https://code.google.com/p/google-gson/ 下载的放在lib并导入,若 ...
- Android笔记:gson处理多层嵌套的复杂形式的json
当一个Class的字段属性中包含另一个class时gson能正常处理吗? 最初看到网上有说使用static的说法 经验证是不需要的 直接当普通类来用就可以了. 直接使用gson.fromJson方法即 ...
- Amdroid示例:利用Gson生成或解析json
转自:http://www.cnblogs.com/liqw/p/4266209.html 目前手机端和服务端数据交流格式一般是json,而谷歌提供了Gson来解析json.下载Gson:https: ...
- 使用gson和httpclient呼叫微信公众平台API
吐槽:微信api很无语.有一部分xml.有一部分json. 最近看如何调用微信公众平台json有关api更方便.终于找到了httpcliect和gson对. 假设你有一个更好的办法,请告诉我. 了解如 ...
- IntelliJ IDEA 通过GsonFormat插件将JSONObject格式的String 解析成实体
GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 插件地址:https://plugins.jetbr ...
随机推荐
- thinkphp动态注册路由
thinkphp动态注册路由 一.总结 1.thinkphp使用路由步骤:a.config配置文件中开启路由 b.Route类的rule方法创建路由(在Routephp中)Route::rule(' ...
- Rdis-主从复制
配置 配置一个从服务器非常简单, 只要在配置文件中增加以下的这一行就可以了: slaveof 192.168.1.1 6379 注:主:bind 192.168.10.1 (指定主机IP) 当然, 你 ...
- 常用加密算法的Java实现(一)
常用加密算法的Java实现(一) ——单向加密算法MD5和SHA 摘自:http://www.blogjava.net/amigoxie/archive/2014/06/01/414299.html ...
- 深拷贝&浅拷贝
1.区别 浅拷贝:只拷贝了基本数据类型,引用数据类型只复制了引用,没有复制实体. 深拷贝:拷贝所有的层级属性 2.浅拷贝 (1) 直接赋值 拷贝之后,所有层级属性仍然公用了地址,会被影响 var a ...
- Flask项目之手机端租房网站的实战开发(十一)
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/8 ...
- Altium Designer布局移动原件的问题
- DC针对pipeline的优化
set_optimize_register true compile -ultra 调整pipleline各级的组合逻辑,使得各级组合逻辑的延迟跟接近 对非pipeline进行优化: regi ...
- 安装配置Rancher管理docker
原文:安装配置Rancher管理docker 版权声明:本文为博主原创文章,转载请注明地址http://blog.csdn.net/tianyaleixiaowu. https://blog.csdn ...
- CentOS7安装docker 18.06
原文:CentOS7安装docker 18.06 一.CentOS Docker 安装 参考docker 官方网站:https://docs.docker.com/install/linux/dock ...
- Unity自带网络功能——NetworkView组件、Serialize、RPC
Unity拥有大量的第三方插件,专门提供了对网络功能的支持.可是,大部分开发人员第一次接触到的还是Unity自带的网络功能,也就是大家常常说到的Unity Networking API.这些API是借 ...