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);
        //为了保证数据传输不丢失,一般使用String弱类型
        String valueToTranslate = resultObject.toJSONString();
        
        
        //本地将数据转换为jsonOBject,前端显示
        JSONObject jsonObject = JSONObject.parseObject(valueToTranslate);
        //转换成的jsonobject的value值为jsonarray数组,里面虽然是String,但是也是Jsonobject,不能同时进行转换吗
        System.out.println(jsonObject); //{"value":["{\"a\":1}","{\"b\":2}"]}
阅读 8.2k
1 个回答
//        jsonArray.add(JSON.toJSONString(js1));
//        jsonArray.add(JSON.toJSONString(js2));
        jsonArray.add(js1);
        jsonArray.add(js2);

JSON.toJSONString(js1),这个是json字符串,不是json对象
你把字符串放到数组里,当然是按字符串输出的。直接放对象就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题