【问题标题】:Accessing numerical property in a json object访问 json 对象中的数字属性
【发布时间】:2011-09-16 10:52:31
【问题描述】:

我有一个 PHP 多维数组,我使用 JSON_encode() 将其转换为 JSON。

我正在使用drupal,所以对于那些不熟悉它的人来说,drupal 数组通常有这样的键:

$some_array['und']['0']['value']

所以我的 JSON 对象最终看起来像:

some_array.und.0.value

现在的问题是,当使用上述语法检索值时,FB 控制台中出现以下 JS 错误:"missing name after .operator"

此外,此数据旨在与 Jquery 模板一起使用,因此我也尝试直接在我的模板中访问此数据:

${field_city.und.0.value}

不幸的是,女巫也没有工作..

我将如何解决这个问题?我可以用 JS 以某种方式访问​​这个属性吗?或者有没有办法让 JSON_encode 函数用“零”替换所有的 0?甚至在解析 JSON 字符串时替换 '0'?

非常感谢您的建议。

【问题讨论】:

    标签: php javascript jquery json


    【解决方案1】:

    尝试使用 some_array.und["0"].value 访问它。 '0' 不是 javascript 对象的有效名称,这就是为什么要通过 .符号不起作用。 但是,如果您通过方括号访问它,则可以访问任何名称的键。

    【讨论】:

      【解决方案2】:

      除了使用点表示法之外,您还可以使用常规数组表示法来访问 JSON 节点:

      some_array.und['0'].value
      

      【讨论】:

      • 感谢 alex 的回答,我将对此进行更多测试并感谢您。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 2016-04-07
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      相关资源
      最近更新 更多