json串中data对应的值是String,String字符串中双引号需要使用反斜杠\进行转义, 痛恨这种, 解析时要进行二次解析data string为对象。
{"error_no":"0","error_info":"success!","data":"{\"id\":1,\"name\":\"www\"}"}
代码生成方式
String str = "{\"id\":1,\"name\":\"www\"}";
JSONObject jsonStr = new JSONObject(true);
jsonStr.put("error_no", "0");
jsonStr.put("error_info", "success!");
jsonStr.put("data", str); //这里它这么干,对于接收者来说 是恶梦吧,这样规范吗? 下面第二种才是正常人的代码吧!
System.out.println("字符串放入json串后:"+jsonStr);
json串中data对应的值是对象,解决了前端后端接收时存在双引号和反斜杠的问题
{"error_no":"0","error_info":"success!","data":{"name":"www","id":1}}
代码生成方式
String str = "{\"id\":1,\"name\":\"www\"}";
JSONObject jsonObject = new JSONObject(true);
jsonObject.put("error_no", "0");
jsonObject.put("error_info", "success!");
// 将String转换为JSONObject再put
jsonObject.put("data", JSON.parseObject(str));
System.out.println("字符串对象放入json串后:"+jsonObject);
发现有java平台返回的JSON格式带第一种内嵌 JSON STRING的, 用不起第二种还是什么原因它要这么做?有懂行的朋友说说?
手机扫一扫
移动阅读更方便
你可能感兴趣的文章