【问题标题】:how to loop through the Restfulwebservice using for loop with a object如何使用带有对象的 for 循环遍历 Restfulwebservice
【发布时间】:2015-01-19 17:38:52
【问题描述】:

如何使用带有单个对象的 for 循环遍历 Restfulweb 服务。而且我不想为每个循环使用,所以我该怎么做。我无法使用

获取数据
  for(var key in data) {
                    alert(data[key].hotel_geo_node.name);
             if(data.hasOwnProperty(key)){
           }

这里是 api { “数据”: { “4325474491990470056”:{ “hotel_geo_node”:{ "name": "国会大厦", “标签”:{ “hotel_chain_code”:[ “nichendgrp” ], “财产类型”: [ “酒店” ], “property_budget_category”:[ “奢华” ], “其他”: [ "goibibo_hotel" ] },

    }, 

   "4325474491990470057": {
        "hotel_geo_node": {
            "name": "The Capitol", 
            "tags": {
                "hotel_chain_code": [
                    "nichendgrp"
                ], 
                "property_type": [
                    "Hotel"
                ], 
                "property_budget_category": [
                    "Luxury"
                ], 
                "others": [
                    "goibibo_hotel"
                ]
            }, 

    }, 
    "4325474491990470058": {
        "hotel_geo_node": {
            "name": "The Capitol", 
            "tags": {
                "hotel_chain_code": [
                    "nichendgrp"
                ], 
                "property_type": [
                    "Hotel"
                ], 
                "property_budget_category": [
                    "Luxury"
                ], 
                "others": [
                    "goibibo_hotel"
                ]
            }, 
    }
 }

}

【问题讨论】:

    标签: javascript json for-loop


    【解决方案1】:

    您不能使用“标准”for 循环遍历对象的键,因为它不是数组,而且它的键不是数字。你只能使用for-in循环循环抛出它:

    for(var key in data) {
        if(data.hasOwnProperty(key)){ // check if 'key' property is in object 'data' and not in it's prototype chain
            doTheStuff(data[key]);
        }
    }
    

    【讨论】:

    • 嗨,roland,我需要获取每个对象,就像我们获取每个数组并循环遍历该数组一样,我想要同样的东西。我怎么做 。 :(
    • 抱歉,不清楚你想要什么。如果你想丰富那些名为"4325474491990470058", you'll get it in the line 3 of my snippet as data[key]`的对象。或者,如果您想获取所有嵌套对象,您可以使用类似于此答案中的递归函数来完成:stackoverflow.com/a/11311206/1105860
    • 好的!!那么我如何从这个网络服务中获得“名字”:“国会大厦”。请告诉我。
    • 因为它看起来像 API 你可以得到data[key].hotel_geo_node.name
    • 您好 Roland,我收到此错误 TypeError: data[key].hotel_geo_node is undefined 。
    猜你喜欢
    • 2019-12-01
    • 2015-03-18
    • 2019-12-11
    • 2017-09-06
    • 2021-12-04
    • 2017-05-27
    • 2014-02-22
    • 2020-11-29
    • 2011-08-07
    相关资源
    最近更新 更多