嗨,我的数据是字符串 像这样
Array
(
[0] => Array
(
[pollId] => 2
[poll] => new
[cId] => 7
[communityId] => 7
[ansId] => Array
(
[0] => 6
[1] => 7
)
[answer] => Array
(
[0] => new1
[1] => new2
)
[vote] => Array
(
[0] => 37
[1] => 36
)
[count] => 2
)
)
我想将其转换为数组。
答案 0 :(得分:2)
如果你真的有一个包含所引用文本的字符串,那么你将不得不为它找到或写一个解析器。
这不是JSON的百万里程,所以你可能会从两个非{{}中获得实施(如果你必须写一个)在Crockford's github page上找到的{1}} JSON解析器的实现。有 eval
,这是一个递归下降的解析器;和json_parse.js
这是一个状态机。在这两种情况下,它们都会解析JSON,而不是您的示例格式,但我的观点是,由于您的示例格式距离JSON不到一百万英里,您可以将它们用作起点。
更新:(我添加了关于此的评论,但作为答案的一部分,它会更好。)我从你的问题的评论流中看到你不必使用此格式,而是可以使用JSON。在这种情况下,你的状态很好 - jQuery在parseJSON
function中内置了JSON解析。这将接受包含JSON编码数据的字符串并返回JavaScript对象图(可能是也可能不是数组,具体取决于JSON定义的内容)。如果您通过Ajax检索JSON,jQuery甚至会自动为您解析它并将结果对象图作为json_parse_state.js
函数的参数提供给您,请参阅$.ajax
和$.getJSON
。 Here's a live example我今天早些时候做了另一个问题。这将加载您在代码中看到的URL中找到的JSON,jQuery会自动解析它,并访问生成的JavaScript对象图的其中一个属性。