如何迭代JSON对象?

时间:2018-06-07 01:13:50

标签: javascript json

我有美国所有50个州的JSON对象及其相关信息。我想使用console.log循环迭代每个名称和for名称。

JSON将所有状态对象存储在一个大对象中,我不知道如何访问状态对象,因为它们位于自己的对象中。



const jsonobject = {
  "AL": {
    "name": "Alabama",
    "capital": "Montgomery",
    "lat": "32.361538",
    "long": "-86.279118"
  },
  "AK": {
    "name": "Alaska",
    "capital": "Juneau",
    "lat": "58.301935",
    "long": "-134.419740"
  },
  "AZ": {
    "name": "Arizona",
    "capital": "Phoenix",
    "lat": "33.448457",
    "long": "-112.073844"
  },
  "AR": {
    "name": "Arkansas",
    "capital": "Little Rock",
    "lat": "34.736009",
    "long": "-92.331122"
  },
  "CA": {
    "name": "California",
    "capital": "Sacramento",
    "lat": "38.555605",
    "long": "-121.468926"
  },
  "CO": {
    "name": "Colorado",
    "capital": "Denver",
    "lat": "39.7391667",
    "long": "-104.984167"
  },
  "CT": {
    "name": "Connecticut",
    "capital": "Hartford",
    "lat": "41.767",
    "long": "-72.677"
  },
  "DE": {
    "name": "Delaware",
    "capital": "Dover",
    "lat": "39.161921",
    "long": "-75.526755"
  },
  "FL": {
    "name": "Florida",
    "capital": "Tallahassee",
    "lat": "30.4518",
    "long": "-84.27277"
  },
  "GA": {
    "name": "Georgia",
    "capital": "Atlanta",
    "lat": "33.76",
    "long": "-84.39"
  },
  "HI": {
    "name": "Hawaii",
    "capital": "Honolulu",
    "lat": "21.30895",
    "long": "-157.826182"
  },
  "ID": {
    "name": "Idaho",
    "capital": "Boise",
    "lat": "43.613739",
    "long": "-116.237651"
  },
  "IL": {
    "name": "Illinois",
    "capital": "Springfield",
    "lat": "39.783250",
    "long": "-89.650373"
  },
  "IN": {
    "name": "Indiana",
    "capital": "Indianapolis",
    "lat": "39.790942",
    "long": "-86.147685"
  },
  "IA": {
    "name": "Iowa",
    "capital": "Des Moines",
    "lat": "41.590939",
    "long": "-93.620866"
  },
  "KS": {
    "name": "Kansas",
    "capital": "Topeka",
    "lat": "39.04",
    "long": "-95.69"
  },
  "KY": {
    "name": "Kentucky",
    "capital": "Frankfort",
    "lat": "38.197274",
    "long": "-84.86311"
  },
  "LA": {
    "name": "Louisiana",
    "capital": "Baton Rouge",
    "lat": "30.45809",
    "long": "-91.140229"
  },
  "ME": {
    "name": "Maine",
    "capital": "Augusta",
    "lat": "44.323535",
    "long": "-69.765261"
  },
  "MD": {
    "name": "Maryland",
    "capital": "Annapolis",
    "lat": "38.972945",
    "long": "-76.501157"
  },
  "MA": {
    "name": "Massachusetts",
    "capital": "Boston",
    "lat": "42.2352",
    "long": "-71.0275"
  },
  "MI": {
    "name": "Michigan",
    "capital": "Lansing",
    "lat": "42.7335",
    "long": "-84.5467"
  },
  "MN": {
    "name": "Minnesota",
    "capital": "Saint Paul",
    "lat": "44.95",
    "long": "-93.094"
  },
  "MS": {
    "name": "Mississippi",
    "capital": "Jackson",
    "lat": "32.320",
    "long": "-90.207"
  },
  "MO": {
    "name": "Missouri",
    "capital": "Jefferson City",
    "lat": "38.572954",
    "long": "-92.189283"
  },
  "MT": {
    "name": "Montana",
    "capital": "Helana",
    "lat": "46.595805",
    "long": "-112.027031"
  },
  "NE": {
    "name": "Nebraska",
    "capital": "Lincoln",
    "lat": "40.809868",
    "long": "-96.675345"
  },
  "NV": {
    "name": "Nevada",
    "capital": "Carson City",
    "lat": "39.160949",
    "long": "-119.753877"
  },
  "NH": {
    "name": "New Hampshire",
    "capital": "Concord",
    "lat": "43.220093",
    "long": "-71.549127"
  },
  "NJ": {
    "name": "New Jersey",
    "capital": "Trenton",
    "lat": "40.221741",
    "long": "-74.756138"
  },
  "NM": {
    "name": "New Mexico",
    "capital": "Santa Fe",
    "lat": "35.667231",
    "long": "-105.964575"
  },
  "NY": {
    "name": "New York",
    "capital": "Albany",
    "lat": "42.659829",
    "long": "-73.781339"
  },
  "NC": {
    "name": "North Carolina",
    "capital": "Raleigh",
    "lat": "35.771",
    "long": "-78.638"
  },
  "ND": {
    "name": "North Dakota",
    "capital": "Bismarck",
    "lat": "48.813343",
    "long": "-100.779004"
  },
  "OH": {
    "name": "Ohio",
    "capital": "Columbus",
    "lat": "39.962245",
    "long": "-83.000647"
  },
  "OK": {
    "name": "Oklahoma",
    "capital": "Oklahoma City",
    "lat": "35.482309",
    "long": "-97.534994"
  },
  "OR": {
    "name": "Oregon",
    "capital": "Salem",
    "lat": "44.931109",
    "long": "-123.029159"
  },
  "PA": {
    "name": "Pennsylvania",
    "capital": "Harrisburg",
    "lat": "40.269789",
    "long": "-76.875613"
  },
  "RI": {
    "name": "Rhode Island",
    "capital": "Providence",
    "lat": "41.82355",
    "long": "-71.422132"
  },
  "SC": {
    "name": "South Carolina",
    "capital": "Columbia",
    "lat": "34.000",
    "long": "-81.035"
  },
  "SD": {
    "name": "South Dakota",
    "capital": "Pierre",
    "lat": "44.367966",
    "long": "-100.336378"
  },
  "TN": {
    "name": "Tennessee",
    "capital": "Nashville",
    "lat": "36.165",
    "long": "-86.784"
  },
  "TX": {
    "name": "Texas",
    "capital": "Austin",
    "lat": "30.266667",
    "long": "-97.75"
  },
  "UT": {
    "name": "Utah",
    "capital": "Salt Lake City",
    "lat": "40.7547",
    "long": "-111.892622"
  },
  "VT": {
    "name": "Vermont",
    "capital": "Montpelier",
    "lat": "44.26639",
    "long": "-72.57194"
  },
  "VA": {
    "name": "Virginia",
    "capital": "Richmond",
    "lat": "37.54",
    "long": "-77.46"
  },
  "WA": {
    "name": "Washington",
    "capital": "Olympia",
    "lat": "47.042418",
    "long": "-122.893077"
  },
  "WV": {
    "name": "West Virginia",
    "capital": "Charleston",
    "lat": "38.349497",
    "long": "-81.633294"
  },
  "WI": {
    "name": "Wisconsin",
    "capital": "Madison",
    "lat": "43.074722",
    "long": "-89.384444"
  },
  "WY": {
    "name": "Wyoming",
    "capital": "Cheyenne",
    "lat": "41.145548",
    "long": "-104.802042"
  }
}

const jsonarray = [];
jsonarray.push(jsonobject);

for (i=0; i < jsonarray.length; i++) {
  console.log(jsonarray[i].name);
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

    const jsonobject = {
      "AL": {
        "name": "Alabama",
        "capital": "Montgomery",
        "lat": "32.361538",
        "long": "-86.279118"
      },
      "AK": {
        "name": "Alaska",
        "capital": "Juneau",
        "lat": "58.301935",
        "long": "-134.419740"
      },
      "AZ": {
        "name": "Arizona",
        "capital": "Phoenix",
        "lat": "33.448457",
        "long": "-112.073844"
      },
      "AR": {
        "name": "Arkansas",
        "capital": "Little Rock",
        "lat": "34.736009",
        "long": "-92.331122"
      },
      "CA": {
        "name": "California",
        "capital": "Sacramento",
        "lat": "38.555605",
        "long": "-121.468926"
      },
      "CO": {
        "name": "Colorado",
        "capital": "Denver",
        "lat": "39.7391667",
        "long": "-104.984167"
      },
      "CT": {
        "name": "Connecticut",
        "capital": "Hartford",
        "lat": "41.767",
        "long": "-72.677"
      },
      "DE": {
        "name": "Delaware",
        "capital": "Dover",
        "lat": "39.161921",
        "long": "-75.526755"
      },
      "FL": {
        "name": "Florida",
        "capital": "Tallahassee",
        "lat": "30.4518",
        "long": "-84.27277"
      },
      "GA": {
        "name": "Georgia",
        "capital": "Atlanta",
        "lat": "33.76",
        "long": "-84.39"
      },
      "HI": {
        "name": "Hawaii",
        "capital": "Honolulu",
        "lat": "21.30895",
        "long": "-157.826182"
      },
      "ID": {
        "name": "Idaho",
        "capital": "Boise",
        "lat": "43.613739",
        "long": "-116.237651"
      },
      "IL": {
        "name": "Illinois",
        "capital": "Springfield",
        "lat": "39.783250",
        "long": "-89.650373"
      },
      "IN": {
        "name": "Indiana",
        "capital": "Indianapolis",
        "lat": "39.790942",
        "long": "-86.147685"
      },
      "IA": {
        "name": "Iowa",
        "capital": "Des Moines",
        "lat": "41.590939",
        "long": "-93.620866"
      },
      "KS": {
        "name": "Kansas",
        "capital": "Topeka",
        "lat": "39.04",
        "long": "-95.69"
      },
      "KY": {
        "name": "Kentucky",
        "capital": "Frankfort",
        "lat": "38.197274",
        "long": "-84.86311"
      },
      "LA": {
        "name": "Louisiana",
        "capital": "Baton Rouge",
        "lat": "30.45809",
        "long": "-91.140229"
      },
      "ME": {
        "name": "Maine",
        "capital": "Augusta",
        "lat": "44.323535",
        "long": "-69.765261"
      },
      "MD": {
        "name": "Maryland",
        "capital": "Annapolis",
        "lat": "38.972945",
        "long": "-76.501157"
      },
      "MA": {
        "name": "Massachusetts",
        "capital": "Boston",
        "lat": "42.2352",
        "long": "-71.0275"
      },
      "MI": {
        "name": "Michigan",
        "capital": "Lansing",
        "lat": "42.7335",
        "long": "-84.5467"
      },
      "MN": {
        "name": "Minnesota",
        "capital": "Saint Paul",
        "lat": "44.95",
        "long": "-93.094"
      },
      "MS": {
        "name": "Mississippi",
        "capital": "Jackson",
        "lat": "32.320",
        "long": "-90.207"
      },
      "MO": {
        "name": "Missouri",
        "capital": "Jefferson City",
        "lat": "38.572954",
        "long": "-92.189283"
      },
      "MT": {
        "name": "Montana",
        "capital": "Helana",
        "lat": "46.595805",
        "long": "-112.027031"
      },
      "NE": {
        "name": "Nebraska",
        "capital": "Lincoln",
        "lat": "40.809868",
        "long": "-96.675345"
      },
      "NV": {
        "name": "Nevada",
        "capital": "Carson City",
        "lat": "39.160949",
        "long": "-119.753877"
      },
      "NH": {
        "name": "New Hampshire",
        "capital": "Concord",
        "lat": "43.220093",
        "long": "-71.549127"
      },
      "NJ": {
        "name": "New Jersey",
        "capital": "Trenton",
        "lat": "40.221741",
        "long": "-74.756138"
      },
      "NM": {
        "name": "New Mexico",
        "capital": "Santa Fe",
        "lat": "35.667231",
        "long": "-105.964575"
      },
      "NY": {
        "name": "New York",
        "capital": "Albany",
        "lat": "42.659829",
        "long": "-73.781339"
      },
      "NC": {
        "name": "North Carolina",
        "capital": "Raleigh",
        "lat": "35.771",
        "long": "-78.638"
      },
      "ND": {
        "name": "North Dakota",
        "capital": "Bismarck",
        "lat": "48.813343",
        "long": "-100.779004"
      },
      "OH": {
        "name": "Ohio",
        "capital": "Columbus",
        "lat": "39.962245",
        "long": "-83.000647"
      },
      "OK": {
        "name": "Oklahoma",
        "capital": "Oklahoma City",
        "lat": "35.482309",
        "long": "-97.534994"
      },
      "OR": {
        "name": "Oregon",
        "capital": "Salem",
        "lat": "44.931109",
        "long": "-123.029159"
      },
      "PA": {
        "name": "Pennsylvania",
        "capital": "Harrisburg",
        "lat": "40.269789",
        "long": "-76.875613"
      },
      "RI": {
        "name": "Rhode Island",
        "capital": "Providence",
        "lat": "41.82355",
        "long": "-71.422132"
      },
      "SC": {
        "name": "South Carolina",
        "capital": "Columbia",
        "lat": "34.000",
        "long": "-81.035"
      },
      "SD": {
        "name": "South Dakota",
        "capital": "Pierre",
        "lat": "44.367966",
        "long": "-100.336378"
      },
      "TN": {
        "name": "Tennessee",
        "capital": "Nashville",
        "lat": "36.165",
        "long": "-86.784"
      },
      "TX": {
        "name": "Texas",
        "capital": "Austin",
        "lat": "30.266667",
        "long": "-97.75"
      },
      "UT": {
        "name": "Utah",
        "capital": "Salt Lake City",
        "lat": "40.7547",
        "long": "-111.892622"
      },
      "VT": {
        "name": "Vermont",
        "capital": "Montpelier",
        "lat": "44.26639",
        "long": "-72.57194"
      },
      "VA": {
        "name": "Virginia",
        "capital": "Richmond",
        "lat": "37.54",
        "long": "-77.46"
      },
      "WA": {
        "name": "Washington",
        "capital": "Olympia",
        "lat": "47.042418",
        "long": "-122.893077"
      },
      "WV": {
        "name": "West Virginia",
        "capital": "Charleston",
        "lat": "38.349497",
        "long": "-81.633294"
      },
      "WI": {
        "name": "Wisconsin",
        "capital": "Madison",
        "lat": "43.074722",
        "long": "-89.384444"
      },
      "WY": {
        "name": "Wyoming",
        "capital": "Cheyenne",
        "lat": "41.145548",
        "long": "-104.802042"
      }
    }

    for(let item of Object.keys(jsonobject)){
      console.log(jsonobject[item].name)
    }

您可以先使用Object.keys提取所有状态,然后尝试使用for..of循环来访问该名称