[英]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.