源代码
Map<String, Object> map = new HashMap<>();
map.put("state", true);
map.put("code", "null");
map.put("data", " \"valueList\":{"+list.toString()+"}");
outJson = JSON.toJSONString(map);
打印出来的结果:
发现会把转译字符也打出来.
经过网上寻找解决办法,找到了一种较为简单的方法:
对获取到的结果字符串尝试进行JSONObject解析,若解析成功,就将该对象put进map;若解析不成功,就直接获取到的字符串。
更改后代码如下:
Map<String, Object> map = new HashMap<>();
map.put("state", true);
map.put("code", "null");
String paramStr="{\"valueList\":"+list+"}";
try {
map.put("data", JSONObject.parse(paramStr));
} catch (Exception e) {
map.put("data", paramStr);
}
outJson = JSON.toJSONString(map);
运行结果:
OK,完美解决
用的jar包都是阿里巴巴的fastjson