鍍金池/ 問答/Java  網絡安全/ fastjson的parseObject轉換問題

fastjson的parseObject轉換問題

JSONObject resultObject = new JSONObject();

        JSONObject js1 = new JSONObject();
        js1.put("a",1);
        JSONObject js2 = new JSONObject();
        js2.put("b",2);
        JSONArray jsonArray = new JSONArray();
        jsonArray.add(JSON.toJSONString(js1));
        jsonArray.add(JSON.toJSONString(js2));

        //報錯,不能只能轉換
//        System.out.println(jsonArray.getJSONObject(1));
        
        resultObject.put("name",jsonArray);
        //為了保證數(shù)據(jù)傳輸不丟失,一般使用String弱類型
        String valueToTranslate = resultObject.toJSONString();
        
        
        //本地將數(shù)據(jù)轉換為jsonOBject,前端顯示
        JSONObject jsonObject = JSONObject.parseObject(valueToTranslate);
        //轉換成的jsonobject的value值為jsonarray數(shù)組,里面雖然是String,但是也是Jsonobject,不能同時進行轉換嗎
        System.out.println(jsonObject); //{"value":["{\"a\":1}","{\"b\":2}"]}
回答
編輯回答
風清揚
//        jsonArray.add(JSON.toJSONString(js1));
//        jsonArray.add(JSON.toJSONString(js2));
        jsonArray.add(js1);
        jsonArray.add(js2);

JSON.toJSONString(js1),這個是json字符串,不是json對象
你把字符串放到數(shù)組里,當然是按字符串輸出的。直接放對象就可以了

2017年11月16日 07:51