【问题标题】:How to find JSON object contains Object or Array in Javascript?如何在 Javascript 中查找 JSON 对象包含对象或数组?
【发布时间】:2015-08-17 19:23:14
【问题描述】:

我正在工作 Angular js 项目,我得到的表单服务器响应是 JSON 对象。该 JSON 对象包含嵌套的对象和数组。每次我需要写很多代码来获取键的值

例如:

{
    "mapData": {
        "data": [
            {
                "key": "name",
                "value": "abc"
            },
            {
                "key": "name",
                "value": "bcd"
            },
            {
                "key": "name",
                "value": "vbc"
            }
        ]
    }
}

我试过的例子太多了,和上面的例子没有关系。

for(var key in object) {
    if(key=="Id"){
         Id= object[key].fieldValue;
        secondData.forEach(function(item){
            for(var innerItem in item){
            if(innerItem =="Id"){
                if(Id==item[innerItem].fieldValue){
                        FinalData.push(item);
                        }
                     }
        }
    }); 
 }
}

有没有什么通用的方式,而不是每次都写for循环和For Each循环。 你能建议任何事情吗

提前致谢

【问题讨论】:

  • 你能分享你的代码吗?
  • 只有一件事,JSON 不是一个对象,它是文本。它是对象的序列化形式。没有“JSON对象”这样的东西
  • 您需要像@Shubh 所说的那样分享您的代码,但无论您发布什么,我认为答案将是underscorejs.org :)
  • 我们不知道,response对象包含什么结构,可能是Array也可能是Object,仅此而已,我们需要获取key Value Right。在上面的示例中,我需要获取 Key is Name 并且我想要该键的值。我怎么能做到这一点,你能给我这个问题的任何解决方案吗@Shubh
  • 这是我每次在项目中编写代码的一个示例:for(var key in object) { if(key=="Id"){ Id= object[key].fieldValue; secondData.forEach(function(item){ for(var innerItem in item){ if(innerItem =="Id"){ if(Id==item[innerItem].fieldValue){ FinalData.push(item); } } } }); } }

标签: javascript json angularjs


【解决方案1】:

mapData.data[i].key 将返回您的键值。 i 是您的数据数组的索引,您可以轻松地通过

迭代数据
for(var i =0;i<mapData.data.length;i++){}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 2022-08-03
    相关资源
    最近更新 更多