解析 JSON 编码的数组并获取值

3

如何解析我通过json_encode(arr)获取到的这些JSon数组,输出结果如下:

[{"id":"44","data":"[[10],[27],[13]]","_types":"ff"},  {"id":"44","data":"[[140],[327],[213]]","_types":"44f"}]

我需要使用JavaScript迭代并获取每个值。 我遇到了一个错误,意外的标记。

JSON.parse(inputStr) 应该可以。 - gurvinder372
如果json.parse()无法工作,请向我们展示您尝试获取的代码。 - Bidoubiwa
你的问题不够具体。你想要做什么(例如)? - IsraGab
当我执行 json.parse 时,我得到了 Uncaught SyntaxError:Unexpected token N。我需要从这个 JSON 中获取每个用户 ID 和数据。 - mevr
你能分享一个 Fiddle http://jsfiddle.net 吗? - gurvinder372
显示剩余2条评论
2个回答

2

您得到了一个字符串,您只需要使用JSON.parse即可。

var str = '[{"id":"44","data":"[[10],[27],[13]]","_types":"ff"},  {"id":"44","data":"[[140],[327],[213]]","_types":"44f"}]';

var obj = JSON.parse( str );

alert( obj[0].id );

我的json_encode($arr)输出中没有单个代码。当我尝试这样做时,出现了Uncaught TypeError: Cannot use 'in' operator的错误。 - mevr
@user263371 我的代码没有任何 in 运算符。我想知道为什么会出现你遇到的错误。你能分享一个 fiddle 吗?或者你能更新原始帖子以展示你尝试过的代码吗? - gurvinder372
你提供的代码是可行的,但是分配给 str 的 JSON 是用单引号括起来的,对吧?我的 JSON 输出没有单引号,所以我不能将 json.parse 应用于 str。 - mevr
@user263371,你能分享一下你在测试环境中使用的确切JSON字符串吗? - gurvinder372

1
你将获得一个JavaScript对象数组,我认为你不需要解析它。只需迭代并获取以下结果即可。
var q = [{"id":"44","data":"[[10],[27],[13]]","_types":"ff"},  {"id":"44","data":"[[140],[327],[213]]","_types":"44f"}];

 q.forEach(function(i){console.log(i.id)});

感谢您的帮助! - mevr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接