【问题标题】:How i can convert string to array in jquery我如何在jquery中将字符串转换为数组
【发布时间】:2023-03-16 10:50:02
【问题描述】:

嗨,我的数据在一个字符串中 像这样

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
        )

)

我想把它转换成数组。

【问题讨论】:

标签: php jquery ajax


【解决方案1】:

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

它距离 JSON 不远 百万 英里,因此您可能会从找到的两个非eval JSON 解析器实现中获得支持(如果您必须编写一个)在Crockford's github page。有json_parse.js,它是一个递归下降解析器; json_parse_state.js 是一个状态机。在这两种情况下,它们都会解析 JSON,而不是您的示例格式,但我的观点是,由于您的示例格式距离 JSON 不到一百万英里,您可能可以将它们用作起点。

更新:(我已经添加了对此的评论,但最好作为答案的一部分。)我从关于您的问题的评论流中看到您不必使用这种格式,而是可以使用 JSON 代替。在这种情况下,你的状态很好——jQuery 在其parseJSON function 中内置了 JSON 解析。这将接受一个包含 JSON 编码数据的字符串并返回一个 JavaScript 对象图(可能是也可能不是数组,具体取决于 JSON 定义的内容)。如果您通过 Ajax 检索 JSON,jQuery 甚至会自动为您解析它并将结果对象图作为参数提供给您的 success 函数,请参阅 $.ajax 和 $.getJSON。 Here's a live example我今天早些时候为另一个问题做了。这会加载您将在代码中看到的 URL 中找到的 JSON,让 jQuery 自动解析它,并访问生成的 JavaScript 对象图的属性之一。

【讨论】:

  • 感谢 T.J.克劳德。实际上它不是 JSON,我只是从我的控制器在 codeigniter 框架中返回它。但我可以将它转换为 JSON。如果您有将 JSON 转换为 jquery 数组的解决方案,请告诉我。提前致谢
  • @热心:我已经更新了答案,因为你现在说你可以改用 JSON。
  • J.Crowder 谢谢。但它不适合我。我使用成功:函数(msg){alert(msg.poll);});。它显示未定义
  • @热心:看看你的 JSON。如果它等同于您在问题中发布的内容(但采用 JSON 格式),您需要 msg[0].poll,因为您的数据结构的顶层是一个数组,而 poll 是第一个条目的属性数组。
猜你喜欢
  • 2016-03-19
  • 1970-01-01
  • 2015-11-11
  • 1970-01-01
  • 2014-04-08
  • 2021-12-13
  • 2014-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多