在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