我有一个JSON字符串A. A的格式为:
'[{"key1":"val1",...,"keyn":"valn"},{...},...,{...}]'
使用json_encode(Array)在php服务器上创建A.
var str = JSON.parse(A);适用于所有桌面浏览器,移动游猎,移动铬等。
var str = JSON.parse(A);在Android 2.2默认浏览器和黑莓设备的浏览器中引发异常('异常:无法解析字符串')。
JSON.parse在浏览器中工作,而不是我的JSON字符串A.这个浏览器上的json解析器是否有错误?
修改。 如果我将A放入textArea并将字符串直接复制并粘贴到javascript代码中.. JSON.parse('[{“key1”:“val1”,...,“keyn”:“valn”},{。 ..},...,{...}]')有效。
但是,这不起作用 - > JSON.parse($( 'DIV')的HTML(A)的.text());
答案 0 :(得分:1)
较旧的JSON.parse只会解析一个对象....
尝试下面的环绕......
'{ "data" : [{"key1":"val1",...,"keyn":"valn"},{...},...,{...}] }'
如果不起作用......你可以尝试
function getObj(json){
return (new Function(" return (" + json + "); "))();
}
var value = getObj('[{"key1":"val1",...,"keyn":"valn"},{...},...,{...}]');
答案 1 :(得分:0)
尝试:
var myJSON = eval(yourJSONString);