[英]Using Json with java returns string with \“ instead of ”
我正在使用jsonobject和json数组,并使用jsonobject.toString()
函数将最终结果转换为字符串,并将该字符串返回给浏览器。
程式码片段:
JSONArray VMs= new JSONArray();
JSONObject resultSet = new JSONObject();
for(Vector<String> stages : mrs)
{
VMs.put(new JSONObject().put("Vm",stages.get(0)));
}
resultSet.append("ServerDetails",(new JSONObject().put("Server",sName).append("Vms", stageNames)));
return resultSet.toString();
在浏览器上输出:
"{\"ServerDetails\":[{\"Server\":\"myserver45\",\"Vms\":[[{\"Vm\":\"vm1022\"},{\"Vm\":\"vm9875\"}]]}]}"
我不希望它以这种方式返回。 我如何按如下方式返回此收益-
"{"ServerDetails":[{"Server":"myserver45","Vms":[[{"Vm":"vm1022"},{"Vm":"vm9875"}]]}]}"
我不明白为什么到处都用"
替换为\\"
。 请帮忙。
如果使用net.sf.json
json库,则jsonObject
和jsonObject.toString()
提供不带字符串转义符的输出值。 您正在使用哪个库..?
还尝试返回原始jsonObject
本身,而不是返回使用toString
转换的原始jsonObject
。 它可能会给您想要的结果。
另一种选择是取消发送给浏览器的字符串。 您可以为此使用org.apache.commons.lang
中的stringescapeutils。
return StringEscapeUtils.unescapeJava(resultSet.toString()) ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.