【问题标题】:How do you work with JSON with unique keys? [duplicate]您如何使用具有唯一键的 JSON? [复制]
【发布时间】:2014-05-27 20:19:33
【问题描述】:

我正在尝试通过 JSON 运行,但其中一些键是随机数并且具有其他唯一名称。我知道如果键是可预测的,您可以选择键及其值,但我不确定如何使用不可预测的键。

这是一些 JSON 的示例:

{
"10193939": {
    "3948493": {
        "predictable_key1": "value1",
        "predictable_key2": "value2",
        "predictable_key3": [{
            "inner_predictable_key1": "value1"
        }]
    },
    "9898483": {
        "predictable_key1": "value1",
        "predictable_key2": "value2",
        "predictable_key3": [{
             "inner_predictable_key1": "value1"
        }]
    }
}

现在,我有了一些想法,例如使用 for each 循环并将内部唯一键重新映射到新变量以绕过最外面的键。有没有简单的方法可以做到这一点?

【问题讨论】:

标签: javascript json


【解决方案1】:

您可以使用 for...in 子句遍历键。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

您可以直接发现该字段是否属于对象,而不是使用 hasOwnProperty 的原型的一部分。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty

如果您使用 Lodash 或 underscore 之类的库,您可以使用 _.each 函数来遍历对象的键和属性,或者使用 _.keys 来返回对象中的所有键。

http://lodash.com/docs#keys

除此之外,如果您有特定的用例,则必须更详细地阐述您的特定问题。

【讨论】:

  • 本质上,我的最终目标是创建一个个人网站并使用不同的 API,将 API 数据输出到表格中的子页面。因此,从本质上讲,它不仅仅是通过 JSON 进行迭代,而且还可以将数据很好地转换为 HTML。
  • 那么您提出的架构问题比如何使用密钥要大得多。我建议熟悉诸如 KnockoutJS、jQuery 模板或 lodash/underscore 模板之类的工具。
猜你喜欢
  • 2011-07-15
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-12
相关资源
最近更新 更多