以前寫過一篇Gson解析json數據的基本應用,這裏很少說,直接上例子.html
有興趣的能夠先閱讀下以前那篇,這裏附上連接: http://www.cnblogs.com/Ant-soldier/p/6322456.htmlgit
// json跟set集合之間的轉換
String str = "[{'name':'zhangsan','age':20},{'name':'lisi','age':33}]";
Gson gson = new Gson();
Set set = gson.fromJson(str, new TypeToken<Set>() {
}.getType());
System.out.println("json轉換成的set集合 " + set);
// 格式化以後的數據
Gson gson2 = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(str);
str = gson.toJson(je);
System.out.println("格式化以後的json數據是" + str);
boolean jsonFlag;
try {
String st = "{'name':'zhan','age':'23'}";
new JsonParser().parse(st).getAsJsonObject();
jsonFlag = true;
} catch (Exception e) {
jsonFlag = false;
}
System.out.println("判讀st是不是json數據" + jsonFlag);
// 獲取json中的某個屬性,3步 1.獲取轉換器 2.轉換成jsonElement 3.轉換成jsonObject
String ss = "{'name':'zhangsna','age':44}";
parse = new JsonParser();
JsonElement element = parse.parse(ss);
JsonObject object = element.getAsJsonObject();
System.out.println("輸出json數據中的某個屬性" + object.get("name").toString() + " " + object.get("age").toString());
// 添加屬性
String propertyName = "sex";
String propertyVlaue = "man";
object.addProperty(propertyName, new Gson().toJson(propertyVlaue));
System.out.println("輸出json中增長的新數據" + object.toString());
// 修改json中屬性 先刪除後添加
object.remove("sex");
// 判斷json數據中是否存在某個屬性
System.out.println("是否存在屬性sex " + object.has("sex"));
String propertyVlaue2 = "woman";
object.addProperty(propertyName, new Gson().toJson(propertyVlaue2));
System.out.println("輸出json中更新以後的新數據" + object.toString());json
測試結果以下:測試
json轉換成的set集合 [{name=zhangsan, age=20.0}, {name=lisi, age=33.0}]
格式化以後的json數據是[{"name":"zhangsan","age":20},{"name":"lisi","age":33}]
判讀st是不是json數據true
輸出json數據中的某個屬性"zhangsna" 44
輸出json中增長的新數據{"name":"zhangsna","age":44,"sex":"\"man\""}
是否存在屬性sex false
輸出json中更新以後的新數據{"name":"zhangsna","age":44,"sex":"\"woman\""}
ui
尊重知識產權:spa
附上一篇參考連接: http://www.cnblogs.com/kunpengit/p/4001680.htmlhtm