我如何在jquery中将字符串转换为数组

时间:2011-01-22 13:49:40

标签: php jquery ajax

嗨,我的数据是字符串 像这样

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
        )

)

我想将其转换为数组。

1 个答案:

答案 0 :(得分:2)

如果你真的有一个包含所引用文本的字符串,那么你将不得不为它找到或写一个解析器。

< S>

这不是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$.getJSONHere's a live example我今天早些时候做了另一个问题。这将加载您在代码中看到的URL中找到的JSON,jQuery会自动解析它,并访问生成的JavaScript对象图的其中一个属性。