0

我有一个 JSON 字符串 A。A 的格式为:

'[{"key1":"val1",...,"keyn":"valn"},{...},...,{...}]'

A 是使用 json_encode(Array) 在 php 服务器上创建的。

var str = JSON.parse(A); 适用于所有桌面浏览器、移动 safari、移动 chrome 等。

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());

4

2 回答 2

1

旧的 JSON.parse 只会解析一个对象....

尝试如下环绕...

'{ "data" : [{"key1":"val1",...,"keyn":"valn"},{...},...,{...}] }'

如果不行……你可以试试

function getObj(json){
  return (new Function(" return (" + json + "); "))();
}

var value = getObj('[{"key1":"val1",...,"keyn":"valn"},{...},...,{...}]');
于 2013-08-28T21:27:05.500 回答
0

尝试:

var myJSON = eval( yourJSONString );

于 2013-08-28T22:16:12.843 回答