在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

Gson的使用(JsonObject)的更多相关文章

  1. Gson基本操作,JsonObject,JsonArray,String,JavaBean,List互转

    (转自)https://www.cnblogs.com/robbinluobo/p/7217387.html String.JsonObject.JavaBean 互相转换 User user = n ...

  2. GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高。

    GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 插件地址:https://plugins.jetbr ...

  3. org.json.JSONObject与com.google.gson.Gson

    org.json库为JSON创始人编写的解析JSON的java库,Gson为Google为我们提供的解析JSON格式数据的库. Gson里最重要的对象有2个Gson 和GsonBuilder. Gso ...

  4. map转换成com.google.gson.JsonObject

    String json =new Gson().toJson(map); JsonObject jsonObject =new JsonParser().parse(json).getAsJsonOb ...

  5. Gson解析的小例子

    最近解析些复杂的节点数据解析,用安卓自带的json解析比较麻烦所以只能用Gson解析,所以从网上下了点demo来看看 http://blog.csdn.net/tkwxty/article/detai ...

  6. Android 利用Gson生成或解析json

    目前手机端和服务端数据交流格式一般是json,而谷歌提供了Gson来解析json.下载Gson:https://code.google.com/p/google-gson/ 下载的放在lib并导入,若 ...

  7. Android笔记:gson处理多层嵌套的复杂形式的json

    当一个Class的字段属性中包含另一个class时gson能正常处理吗? 最初看到网上有说使用static的说法 经验证是不需要的 直接当普通类来用就可以了. 直接使用gson.fromJson方法即 ...

  8. Amdroid示例:利用Gson生成或解析json

    转自:http://www.cnblogs.com/liqw/p/4266209.html 目前手机端和服务端数据交流格式一般是json,而谷歌提供了Gson来解析json.下载Gson:https: ...

  9. 使用gson和httpclient呼叫微信公众平台API

    吐槽:微信api很无语.有一部分xml.有一部分json. 最近看如何调用微信公众平台json有关api更方便.终于找到了httpcliect和gson对. 假设你有一个更好的办法,请告诉我. 了解如 ...

  10. IntelliJ IDEA 通过GsonFormat插件将JSONObject格式的String 解析成实体

    GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 插件地址:https://plugins.jetbr ...

随机推荐

  1. 12. ZooKeeper之Java客户端API使用—创建会话。

    转自:https://blog.csdn.net/en_joker/article/details/78686649 客户端可以通过创建一个ZooKeeper(org.apache.zookeeper ...

  2. WebForm使用JQuery实现DropDownList无刷新联动

    目录(?)[-] 1  JS代码 2 页面相关控件用的是平台封装的控件普通DropDownList也可以 3 后台C代码 注意事项   原来用的微软封装的Ajax控件UpdatePannel和Scri ...

  3. Lintcode 将整数A转换为B

    例子 如把31转换为14,须要改变2个bit位. ()10=()2 ()10=()2 贴代码 class Solution { public: /** *@param a, b: Two intege ...

  4. Android Studio - no debuggable applications 的解决的方法

    之前logcat总是无法显示调试应用的信息 曾经我都是卸载重装.后来发如今StackOverflow有一个哥们说的非常对.一次就成功. 原话是这么说的: You also should have To ...

  5. C# SocketAsyncEventArgs类

    Namespace:System.Net.Sockets Assemblies:System.Net.Sockets.dll, System.dll, netstandard.dll (Represe ...

  6. android图片文件的路径地址与Uri的相互转换

    一个android文件的Uri地址一般如下: content://media/external/images/media/62026 这是一张图片的Uri,那么我们如何根据这个Uri获得其在文件系统中 ...

  7. GCJ 2008 Round 1A Minimum Scalar Product

    https://code.google.com/codejam/contest/32016/dashboard 题目大意: GCJ(google code jam)上的水题.下周二有比赛,来熟悉熟悉. ...

  8. Day2:PYC

    一.pyc里装的是预编译后的字节码文件 二.一般存放在”__pycache__“目录 三.当python程序运行时,编译的结果是保存在位于内存中的PyCodeObject中,当Python程序运行结 ...

  9. 【hdu 3518】Boring counting

    [链接]h在这里写链接 [题意] 给出一个字符串,求出至少不重叠出现2次以上的子串有多少个. [题解] 枚举要找的子串的长度i; 根据height数组,找出连续>=i的height; 这几个起始 ...

  10. [D3] Start Visualizing Data Driven Documents with D3 v4

    It’s time to live up to D3’s true name and potential by integrating some real data into your visuali ...