我使用jquery $.get()
進行ajax調用,它返回一個json數組,它在一些情況下工作正常。 。但是其他情況下,在Firefox中,我得到一個奇怪的錯誤說法(德國翻譯):Javascript,Ajax和JSON:分析響應時出現奇怪的「xml處理」錯誤
XML-processing error: syntax error
這是如圖我的servlet INT Java控制檯中的JSON的結構:
[{"key":"...","type":"...","content":"..."},
{"key":"...","type":"...","content":"..."},
...]
這是在使用JSON.stringify()
FF控制檯登錄時的結構:
[{\"key":\"...",\"type":\"...",\"content":\"..."},
{\"key":\"...",\"type":\"...",\"content":\"..."},
...]
我的要求只是看起來是這樣的:
$.get(url,
{"operation": "search", "searchText": searchText, "types": types, "resultNumber": 99},
function(data, status){
console.log(JSON.stringify(data));
});
我創建JSON數組的Java方法:
private JSONArray parseJSON (ArrayList<ResultObject> aResultList) throws JSONException
{
JSONArray resultJSONArray = new JSONArray();
for (ResultObject resultObject : aResultList)
{
JSONObject jsonObject = new JSONObject();
HashMap<String,String> fields = resultObject.getFields();
for (Map.Entry<String, String> entry : fields.entrySet())
{
jsonObject.put(entry.getKey(), entry.getValue());
}
resultJSONArray.put(jsonObject);
}
return resultJSONArray;
}
怎麼回事請告訴我?返回的json中的所有反斜槓是從哪裏來的?
你可以發表你的'$獲得()請求。 –
您是否在代碼頁和響應源上都嘗試過UTF-8編碼? – pokeybit