1. 程式人生 > >fastjson java類、字串、jsonObject之前的轉換

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);