0

我正在使用 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"}]]}]}"

我不明白为什么被到处"替换。\"请帮忙。

4

1 回答 1

0

如果您使用的是net.sf.jsonjson 库,则两者都jsonObject提供jsonObject.toString()不带字符串转义字符的输出值。您正在使用哪个库..?

也尝试返回原件jsonObject本身而不是用toString. 它可能会给你想要的结果。
另一种选择是取消转义发送到浏览器的字符串。org.apache.commons.lang您可以为此使用 stringescapeutils
return StringEscapeUtils.unescapeJava(resultSet.toString()) ;

于 2013-09-19T12:12:04.290 回答