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 ライブラリを使用している場合は、 と の両方で、文字列エスケープ文字なしで出力値を提供しますjsonObjectjsonObject.toString()どのライブラリを使用していますか..?

jsonObjectまた、 で変換したものよりもオリジナルそのものを返してみてくださいtoString。それはあなたに望ましい結果をもたらすかもしれません。
別のオプションは、ブラウザに送信される文字列をエスケープ解除することです。org.apache.commons.langこれにはstringescapeutilsを使用できます
return StringEscapeUtils.unescapeJava(resultSet.toString()) ;

于 2013-09-19T12:12:04.290 に答える