fastjson java類、字串、jsonObject之前的轉換
一、
1.類,json物件轉成json字串
JSONObject json = new JSONObject();
json.put("page",1);
json.put("pageSize",10);
json.toJSONString();
還有Map集合在放進JSONObject,變成json字串
Map<T,T> map = new HashMap<T,T>();
map.put("page",1);
map.put("pageSize",10);
json.putAll(map);
json.toJSONString();
將一個類變成一個json型別的字串
JSONObject.toJSONString(object);
JSON.toJSONString(object)
二、
1.在json變成雷物件之前先學會得到一個jsonObject中的某個資料的值
JSONOnject obj = new JSONObject();
//如果我們需要判斷json中是否包含這個鍵值對,
(1).boolean b = obj.containKey("key");
(2).String res = obj.getString("key");
if (res != null) {
System.out.println(res);
}
//如果想繼續得到JSONObject
JSONObject obj1 =obj.getJSONObject(str2);
//如果想繼續得到值為字串鍵值對;
String jsonStr = obj.getString("");
//如果是得到Object,適合得到對應的值,下面沒有資料
Onject obj2 = obj.get(str2);
//如果知道對應值得型別,還可以直接得到該型別的資料,基本型別必須是它的包裝類,舉例
int num = obj.getInteger("num");
String s2 = obj.getBoolean("name");
2.json字串變成一個類物件,要求字串必須符合json格式
JSONObject json = JSONObject.parseObject(str)
後面都是在json型別的字串已經轉出JSONObject的基礎上。
Object o = JSON.toJavaObject(json,Object.class);
Object o = json.toJavaObject(Object.class);(二選一)
得到List集合的兩種方法。
JSONArray jsonArr = json.getJSONArray("");(從JSONObject得到JSONArray物件)
List<T> list = jsonArr.toJavaList(T.class);
如果本身是陣列形式的字串可以使用下面的方法
List<T.class> list = JSON.parseArray(str,T.class);