在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