我有一个JSON字符串a.a的格式为:
'[{"key1":"val1",...,"keyn":"valn"},{...},...,{...}]'
使用json_encode(Array)在php服务器上创建。
var str=JSON.parse(A);适用于所有桌面浏览器、移动safari、移动chrome等。
var str=JSON.parse(A);在Android 2.2默认浏览器和black berry设备的浏览器中引发异常("exception:无法解析字符串")。
JSON.parse在浏览器中工作,只是不适用于我的JSON字符串A。这个浏览器上的JSON解析器有漏洞吗?
编辑。如果我将A放入textArea中,并将字符串直接复制粘贴到javascript代码中。。JSON.parse('[{"key1":"val1",…,"keyn":"val"},{…},…,{..}]')有效。
但是,这不起作用->JSON.parse($('div').html(A).text());
旧的JSON.parse只会解析对象。。。。
试着像下面这样环绕。。。
'{ "data" : [{"key1":"val1",...,"keyn":"valn"},{...},...,{...}] }'
如果不起作用。。。你可以试试
function getObj(json){
return (new Function(" return (" + json + "); "))();
}
var value = getObj('[{"key1":"val1",...,"keyn":"valn"},{...},...,{...}]');
try:
var myJSON=eval(yourJSONString);