日期:2014-05-20  浏览次数:20671 次

java jsonobject 的问题
如果一个key value分别是
key 是a
value是{"test":"map"}

我用jsonobject.put(key,value)时value会被弄成json格式,最终结果变成了 {"a":{"test":"map"}}

而我需要的是我传递进去的是一个string,生成的结果页是一个string:
{"a":"{\"test\":\"map\"}"}

jsonobject 有相应的escape或encode等转义方法吗?
------解决方案--------------------
正常的转义 。
------解决方案--------------------
引用:
JSONObject json = new JSONObject();
        json.put("test", "{\"a\":\"b\"}");
        System.out.println(json.toString());

这个时候输出的就变成了{"test":{"a":"b"}}

我的本意 我输入的value是string,输出的还是string:{"test":"{\"a\":\"b\"}"}

你输入的时候json.put("test", "{\"a\":\"b\"}"); \ 并不是字符'\'而是转义字符,表示\后面的"是一个普通字符,而不是字符串起始符。
这只是普通的转义,和json没关系