gpt4 book ai didi

JavaScript、Ajax 和 JSON : weird "xml processing" error when parsing response

转载 作者:行者123 更新时间:2023-12-02 12:29:47 24 4
gpt4 key购买 nike

我使用 jquery $.get() 进行 ajax 调用,它返回一个 json 数组,并且在某些情况下工作正常。然而,在其他情况下,在 Firefox 中我收到一个奇怪的错误(翻译自德语):

XML-processing error: syntax error

这是 json 的结构,如我的 servlet int java 控制台所示:

[{"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 中的这些反斜杠是从哪里来的?

最佳答案

看起来 jQuery 没有按照您的预期处理您的响应。尝试添加一个

dataType:"json"

作为您的请求的选项,还要注意您的服务器端在 HTTP 响应上设置正确的 header (内容类型:application/json)

因为正如我从你的帖子中看到的,看起来你将一个字符串传递给 JSON.stringify

希望对你有帮助,祝你有美好的一天

关于JavaScript、Ajax 和 JSON : weird "xml processing" error when parsing response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45349186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com