天天看點

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

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