我使用jquery $.get()
进行ajax调用,它返回一个json数组,在某些情况下它可以正常工作。然而,在其他情况下,在Firefox中我得到一个奇怪的错误(从德语翻译):
XML处理错误:语法错误
这是json的结构,如我的servlet在java控制台中所示:
[{"key":"...","type":"...","content":"..."},
{"key":"...","type":"...","content":"..."},
...]
这是使用JSON.stringify()
:
[{\"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中的所有这些反斜杠来自哪里?
答案 0 :(得分:1)
您的回复看起来并不像您预期的那样由jQuery处理。 尝试添加
source 'https://github.com/CocoaPods/Specs.git'
install! 'cocoapods', :integrate_targets => false
platform :ios, '8.0'
target 'Unity-iPhone' do
pod 'Google-Mobile-Ads-SDK', '~> 7.13'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
作为您请求的选项,还要注意您在服务器端设置HTTP响应的正确标头(Content-Type:application / json)
因为我可以从你的帖子中看到,看起来你将字符串传递给JSON.stringify
我希望我帮助你,度过愉快的一天