XSLT存档  

不及格的程序员-八神

 查看分类:  ASP.NET XML/XSLT JavaScripT   我的MSN空间Blog

json字符串 和 json对象

1、JSONObject中的String

json串中data对应的值是String,String字符串中双引号需要使用反斜杠\进行转义, 痛恨这种, 解析时要进行二次解析data 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);

2、JSONObject中的Object

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的, 用不起第二种还是什么原因它要这么做?有懂行的朋友说说?

posted on 2023-06-14 16:39  不及格的程序员-八神  阅读(416)  评论(0编辑  收藏  举报