【问题标题】:Listing specific values from JSON object列出 JSON 对象中的特定值
【发布时间】:2017-10-25 10:30:47
【问题描述】:

我在工作中遇到了一个 JSON 对象,我需要从中提取电子邮件地址列表。它的数字是这样的:

[
    {
        "key":"value",
        "key2":"value2",
        "key3":value3,
    },
    {
        "key":"value",
        "key2":"value2",
        "key3":value3,
    }
]

我想写一个JS脚本,提取key2对应的值。我可以通过 for/in 循环 (https://www.w3schools.com/js/tryit.asp?filename=tryjson_object_loop) 看到它是可能的,但我不知道如何让它列出 key2 的值​​,而不是全部。我知道这是新手问题,但有人可以帮我完成这个吗?

【问题讨论】:

  • 在您的情况下,预期的结果应该是什么?也许obj.map(function(item) { return item.key2; }) 是您所需要的。
  • @31piy 这正是我会做的。
  • @TKoL -- 在 OP 指定结果格式之前,我无法确定。 ://

标签: javascript json object


【解决方案1】:

请确保您下次发布另一个问题时进行更多研究。 正如您所提到的,此对象循环不会对您的数据起作用,因为它是 array of objects 而不是对象。所以,将不得不作为一个数组循环。 以下是您可以使用的:

    var obj = [
                 {
                   "key":"value",
                   "key2":"value2",
                   "key3":"value3",
                 },
                 {
                   "key":"value",
                   "key2":"value2",
                   "key3":"value3",
                 }
           ];
           var list = [];
           for(var i = 0; i<obj.length; i++) {
                list[i] = obj[i].key2;
           }
           console.log(list);

您的list 将包含您需要的所有值。

【讨论】:

  • 谢谢,这很好用。抱歉,我找不到对此的具体参考。 for/in 循环语法非常混乱。 :-(
  • @yolandayolanda 没问题 :) 如果您觉得有用并点赞,请勾选(验证是否正确)答案
  • 完成。尽管我是菜鸟,但我的赞成票没有出现。 :D 干杯
【解决方案2】:

使用类似的东西

for (x in jsonObjectList) {
document.getElementById("demo").innerHTML += x['key2'] + "<br>";

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-28
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 2018-11-30
    • 2022-10-13
    • 2017-11-22
    • 2022-10-16
    相关资源
    最近更新 更多