使用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"}]]}]}"
我不明白为什么"
在任何地方被\"
取代。请帮忙。
答案 0 :(得分:0)
如果您使用的是net.sf.json
json库,则jsonObject
和jsonObject.toString()
都会提供没有字符串转义字符的输出值。您正在使用哪个库..?
同时尝试返回原始jsonObject
本身,而不是使用toString
转换的原始org.apache.commons.lang
。它可能会给你想要的结果
替代选项是unescape发送到浏览器的字符串。您可以使用return StringEscapeUtils.unescapeJava(resultSet.toString()) ;
中的stringescapeutils作为此{{1}}