在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