我有以下JSON:
{
"82": {
"name": "Camión",
"brands": [
{
"203": {
"name": "Chevrolet"
},
"85": {
"name": "Ford",
"196": "1721",
"194": "815"
},
"221": {
"name": "Freightliner"
},
"222": {
"name": "International"
},
"84": {
"name": "Iveco"
},
"223": {
"name": "JAC"
},
"229": {
"name": "Kamaz"
},
"224": {
"name": "Kenworth"
},
"86": {
"name": "Mack"
},
"225": {
"name": "Mitsubishi"
},
"226": {
"name": "Pegaso"
},
"228": {
"name": "Volkswagen"
},
"227": {
"name": "Volvo"
}
}
]
},
"78": {
"name": "Camioneta",
"brands": [
{
"204": {
"name": "Acura",
"236": "MDX",
"235": "RDX"
},
"252": {
"name": "Audi",
"249": "Q7"
},
"153": {
"name": "BMW",
"260": "X3",
"261": "X5",
"262": "X6"
},
"155": {
"name": "Cadillac",
"271": "Escalade"
},
"210": {
"name": "Chana",
"274": "Mini Pick-Up",
"275": "Pick Up",
"276": "Super Van"
},
"205": {
"name": "Changhe",
"279": "Pick Up"
},
"154": {
"name": "Chery",
"284": "Grand Tiger",
"156": "Tigo",
"282": "Van H5"
},
"157": {
"name": "Chevrolet",
"313": "Avalanche",
"314": "Blazer",
"315": "C-10",
"316": "C-20",
"317": "C-30",
"318": "Captiva",
"319": "Cheyenne",
"320": "Colorado",
"158": "Dmax",
"321": "Expedition",
"322": "Geo Tracker",
"323": "Grand Blazer",
"324": "Grand Vitara",
"325": "Jimmy",
"326": "Lumina APV",
"327": "Luv",
"328": "Montana",
"159": "Orlando",
"329": "Pick Up",
"330": "S-10",
"331": "Silverado",
"332": "Suburban",
"333": "Super Carry",
"334": "Tahoe",
"335": "Trail Blazer",
"336": "Van",
"337": "Venture",
"338": "Vitara",
"339": "Wagon R",
"340": "Yukon"
},
"356": {
"name": "Chrysler",
"357": "Town & Country"
},
"358": {
"name": "Citroën",
"359": "Berlingo",
"366": "Jumpy"
},
"380": {
"name": "Daewoo",
"381": "Damas",
"382": "Labo",
"383": "Musso"
},
"160": {
"name": "Dodge",
"384": "Dakota",
"161": "RAM",
"388": "RAM Van"
},
"392": {
"name": "Fiat",
"393": "Adventure",
"397": "Ducato",
"398": "Fiorino",
"409": "Strada"
},
"81": {
"name": "Ford",
"414": "Bronco",
"415": "Club Wagon",
"422": "Eco Sport",
"423": "Econoline",
"424": "Escape",
"427": "Expedition",
"428": "Explorer",
"429": "F-100",
"430": "F-150",
"431": "F-250",
"432": "F-350",
"433": "F-750",
"446": "Ranger",
"448": "Sport Trac",
"449": "Sport Wagon",
"453": "Winstart"
},
"162": {
"name": "Great Wall",
"457": "Deer",
"458": "Hover",
"459": "Safe"
},
"206": {
"name": "Hafei",
"461": "Mini Van",
"462": "Super Minyi",
"463": "Zhongyi"
},
"207": {
"name": "Haima",
"596": "7",
"465": "Freema"
},
"163": {
"name": "Honda",
"467": "CR-V",
"472": "Odyssey",
"473": "Pilot"
},
"164": {
"name": "Hummer",
"165": "H1",
"166": "H2"
},
"167": {
"name": "Hyundai",
"480": "Galloper",
"482": "Grace",
"483": "H1",
"484": "H100",
"487": "Santa Fe",
"488": "Santamo",
"493": "Tucson",
"494": "Veracruz"
},
"168": {
"name": "Infiniti",
"495": "FX"
},
"169": {
"name": "Isuzu",
"496": "Amigo",
"497": "Caribe",
"498": "Rodeo",
"499": "Trooper"
},
"79": {
"name": "Jeep",
"121": "Cherokee",
"503": "CJ",
"504": "Comanche",
"505": "Commander",
"506": "Compass",
"122": "Grand Cherokee",
"507": "Llanero",
"508": "Pick Up",
"509": "Renegado",
"510": "Rubicon",
"511": "Sahara",
"512": "Wagoneer",
"513": "Willys",
"514": "Wrangler"
},
"118": {
"name": "JMC",
"500": "Pick Up"
},
"170": {
"name": "Kia",
"197": "Carens",
"524": "Pregio",
"525": "Sedona",
"171": "Sportage"
},
"172": {
"name": "Lada",
"531": "Niva"
},
"173": {
"name": "Land Rover",
"534": "Defender",
"535": "Discovery",
"536": "Freelander",
"537": "Range Rover"
},
"174": {
"name": "Lexus",
"543": "GX",
"544": "LX",
"545": "RX"
},
"176": {
"name": "Lincoln",
"547": "Navigator"
},
"177": {
"name": "Mazda",
"566": "B-2600",
"567": "B-4000",
"568": "BT-50",
"569": "CX-7",
"570": "CX-9",
"571": "MPV",
"572": "Navajo"
},
"178": {
"name": "Mercedes Benz",
"582": "Clase G",
"179": "Clase M"
},
"208": {
"name": "Mercury",
"586": "Villager"
},
"180": {
"name": "Mitsubishi",
"609": "Expo",
"610": "Grandis",
"611": "L-200 Sportero",
"612": "L-300",
"181": "Montero",
"613": "Outlander",
"614": "Panel",
"615": "Space Wagon",
"616": "Sport Wagon",
"617": "Star Wagon"
},
"182": {
"name": "Nissan",
"631": "Armada",
"627": "Frontier",
"628": "Murano",
"629": "Pathfinder",
"630": "Patrol",
"632": "Pick Up",
"633": "Quest",
"634": "Terrano",
"635": "X-Terra",
"636": "X-Trail"
},
"193": {
"name": "Otras Marcas"
},
"647": {
"name": "Peugeot",
"648": "Expert"
},
"183": {
"name": "Pontiac",
"654": "Trans Sport"
},
"184": {
"name": "Porsche",
"660": "Cayenne"
},
"185": {
"name": "Renault",
"676": "Kangoo",
"677": "Sandero",
"678": "Trafic"
},
"209": {
"name": "Saic Wuling",
"679": "Minivan",
"680": "Panel",
"681": "Supervan"
},
"187": {
"name": "Subaru",
"694": "Forester"
},
"188": {
"name": "Suzuki",
"695": "Grand Vitara"
},
"189": {
"name": "Tata",
"699": "Ace"
},
"80": {
"name": "Toyota",
"190": "4Runner",
"700": "Autana",
"701": "Burbuja",
"702": "FJ Cruiser",
"703": "FJ-40",
"704": "Fortuner",
"705": "Hiace",
"706": "Highlander",
"707": "Hilux",
"191": "Land Cruiser",
"708": "Macho",
"709": "Macho Pick Up",
"199": "Meru",
"710": "Prado",
"711": "Previa",
"712": "RAV-4",
"713": "Roraima",
"714": "Samurai",
"715": "Sequoia",
"731": "Sienna",
"716": "Tacoma",
"718": "Tercel",
"717": "Terios",
"719": "Tundra"
},
"736": {
"name": "Tyanye",
"737": "Pick Up"
},
"192": {
"name": "Volkswagen",
"753": "Caddy",
"754": "Kombi",
"755": "Multivan",
"756": "Saveiro",
"757": "Touareg"
},
"593": {
"name": "Zhongxing",
"594": "Admiral",
"758": "Grand Tiger"
},
"591": {
"name": "Zotye",
"592": "Nomada"
}
}
]
},
"71": {
"name": "Carro",
"brands": [
{
"211": {
"name": "Acura",
"233": "Integra",
"234": "Legend"
},
"90": {
"name": "Alfa Romeo",
"237": "146",
"238": "156",
"239": "Giulieta",
"240": "Spider"
},
"212": {
"name": "Aston Martin",
"242": "DBS",
"241": "Vantage"
},
"91": {
"name": "Audi",
"243": "90",
"244": "A3",
"245": "A4",
"246": "A5",
"247": "A6",
"248": "A8",
"250": "S4",
"251": "TT"
},
"92": {
"name": "BMW",
"265": "320D",
"253": "Serie 1",
"255": "Serie 3",
"256": "Serie 5",
"257": "Serie 6",
"258": "Serie 7",
"259": "Serie 8",
"263": "Z3",
"264": "Z4"
},
"93": {
"name": "Buick",
"266": "Century",
"267": "Le Sabre",
"269": "Regal",
"268": "Riviera"
},
"94": {
"name": "Cadillac",
"270": "Deville",
"272": "Fleetwood"
},
"95": {
"name": "Chana",
"273": "Benni"
},
"277": {
"name": "Changhe",
"278": "Ideal"
},
"77": {
"name": "Chery",
"96": "Arauca",
"280": "Cowin",
"97": "Orinoco",
"281": "QQ",
"283": "X1"
},
"72": {
"name": "Chevrolet",
"285": "Astra",
"98": "Aveo",
"286": "Camaro",
"287": "Camino",
"288": "Caprice",
"289": "Cavalier",
"290": "Celebrity",
"291": "Century",
"292": "Chevette",
"293": "Chevy",
"294": "Corsa",
"295": "Corsica",
"296": "Corvette",
"99": "Cruze",
"297": "Epica",
"298": "Esteem",
"299": "Impala",
"300": "Lumina",
"301": "Malibu",
"302": "Meriva",
"303": "Monte Carlo",
"304": "Monza",
"305": "Nova",
"306": "Optra",
"307": "Ranchero",
"308": "Sierra",
"309": "Spark",
"310": "Sunfire",
"311": "Swift",
"312": "Vectra"
},
"100": {
"name": "Chrysler",
"341": "300 C",
"345": "Coronet",
"348": "Le Baron",
"349": "Neon",
"350": "New Yorker",
"351": "PT Cruiser",
"353": "Sebring",
"354": "Spirit",
"355": "Stratus"
},
"101": {
"name": "Citroën",
"360": "C2",
"361": "C3",
"362": "C4",
"365": "Pluriel",
"363": "Xsara",
"364": "Xsara Picasso"
},
"102": {
"name": "Corvette",
"367": "Corvette"
},
"103": {
"name": "Daewoo",
"368": "Chairman",
"369": "Cielo",
"370": "Espero",
"371": "Lanos",
"372": "Leganza",
"373": "Matiz",
"374": "Nubira",
"375": "Prince",
"376": "Racer",
"377": "Super Saloon",
"378": "Tacuma",
"379": "Tico"
},
"104": {
"name": "Dodge",
"342": "Brisa",
"105": "Caliber",
"344": "Charger",
"385": "Dart",
"346": "Grand Caravan",
"347": "Intrepid",
"386": "Journey",
"387": "Neon"
},
"106": {
"name": "Ferrari",
"389": "F40",
"390": "F430"
},
"107": {
"name": "Fiat",
"391": "147",
"394": "Brava",
"395": "Coupe",
"396": "Croma",
"399": "Idea",
"400": "Marea",
"401": "Mirafiori",
"198": "Palio",
"402": "Premio",
"403": "Punto",
"404": "Regatta",
"405": "Ritmo",
"406": "Siena",
"407": "Spazio",
"408": "Stilo",
"410": "Tempra",
"411": "Tipo",
"412": "Tucan",
"413": "Uno"
},
"73": {
"name": "Ford",
"416": "Cobra",
"417": "Conquistador",
"418": "Corcel",
"419": "Cougar",
"420": "Crown Victoria",
"421": "Del Rey",
"425": "Escort",
"426": "Excursion",
"434": "Fairline",
"435": "Festiva",
"108": "Fiesta",
"109": "Focus",
"110": "Fusion",
"436": "Galaxie",
"437": "Granada",
"438": "Grand Marquis",
"439": "Ka",
"441": "Laser",
"440": "LTD",
"442": "Maverick",
"443": "Mustang",
"444": "Probe",
"445": "Ranchera",
"447": "Sierra",
"450": "Taurus",
"451": "Thunderbird",
"452": "Zephyr"
},
"111": {
"name": "Geely",
"454": "CK",
"455": "HA",
"456": "MK"
},
"112": {
"name": "Great Wall"
},
"213": {
"name": "Hafei",
"460": "Lobo"
},
"214": {
"name": "Haima",
"464": "Family"
},
"113": {
"name": "Honda",
"466": "Accord",
"114": "Civic",
"468": "CR-X",
"469": "Fit",
"470": "Integra",
"471": "Legend",
"474": "Prelude"
},
"115": {
"name": "Hyundai",
"475": "Accent",
"476": "Atos",
"477": "Azera",
"478": "Elantra",
"479": "Excel",
"481": "Getz",
"485": "H10",
"486": "Matrix",
"489": "Scoupe",
"490": "Sonata",
"491": "Tiburon",
"492": "Verna"
},
"119": {
"name": "Jaguar",
"501": "S-Type",
"502": "XJ"
},
"76": {
"name": "Kia",
"515": "Carens",
"516": "Carnival",
"517": "Cerato",
"518": "Opirus",
"519": "Optima",
"520": "Picanto",
"521": "Rio",
"522": "Shuma",
"523": "Spectra",
"123": "Stylus"
},
"124": {
"name": "Lada",
"526": "21053",
"527": "2106",
"528": "2107",
"529": "Acuario",
"530": "Matriska",
"532": "Samara",
"533": "Strada"
},
"125": {
"name": "Lexus",
"538": "ES",
"539": "GS",
"540": "IS",
"541": "LS",
"542": "SC"
},
"126": {
"name": "Lifan",
"546": "520"
},
"127": {
"name": "Lincoln",
"548": "Town Car"
},
"128": {
"name": "Maserati",
"549": "228",
"550": "70",
"551": "Gran Turismo"
},
"129": {
"name": "Mazda",
"552": "2",
"553": "323",
"554": "626",
"555": "929",
"556": "Allegro",
"557": "Demio",
"130": "Mazda 3",
"560": "Mazda 5",
"131": "Mazda 6",
"561": "Miata",
"562": "Millenia",
"558": "MX-3",
"559": "MX-6",
"563": "Protege",
"564": "RX-7",
"565": "RX-8"
},
"132": {
"name": "Mercedes Benz",
"133": "Clase A",
"573": "Clase B",
"574": "Clase C",
"575": "Clase CLK",
"576": "Clase CLS",
"577": "Clase E",
"578": "Clase S",
"579": "Clase SL",
"581": "Clase SLC",
"580": "Clase SLK",
"134": "Mercury"
},
"216": {
"name": "Mercury",
"583": "Cougar",
"584": "Grand Marquis",
"585": "Tracer"
},
"217": {
"name": "Mini",
"588": "Cooper",
"587": "Cooper S",
"589": "Cord",
"590": "John Cooper Works"
},
"75": {
"name": "Mitsubishi",
"597": "3000 GT",
"598": "Colt",
"599": "Diamante",
"600": "Eclipse",
"601": "Evolution",
"602": "Galant",
"135": "Lancer",
"603": "MF",
"606": "Mirage",
"604": "MS",
"605": "MX",
"607": "Sigma",
"608": "Signo"
},
"136": {
"name": "Nissan",
"618": "200 SX",
"619": "200 ZX",
"620": "350 Z",
"621": "Almera",
"622": "Altima",
"623": "Lucino",
"624": "Maxima",
"625": "Primera",
"137": "Sentra",
"626": "Tiida"
},
"152": {
"name": "Otras Marcas"
},
"138": {
"name": "Peugeot",
"637": "205",
"638": "206",
"639": "207",
"139": "305",
"640": "306",
"641": "307",
"642": "309",
"643": "405",
"644": "407",
"645": "605",
"646": "607"
},
"140": {
"name": "Pontiac",
"649": "Fiero",
"650": "Firebird",
"651": "Grand AM",
"652": "Grand Prix",
"653": "Sunfire"
},
"141": {
"name": "Porsche",
"655": "911",
"656": "924",
"657": "968",
"658": "Boxster",
"659": "Cayman"
},
"142": {
"name": "Renault",
"661": "Clio",
"662": "Fuego",
"663": "Gala",
"664": "Laguna",
"665": "Logan",
"666": "Megane",
"668": "R 11",
"667": "R 12",
"669": "R 18",
"670": "R 19",
"671": "R 21",
"672": "R 5",
"673": "Scenic",
"674": "Symbol",
"675": "Twingo"
},
"219": {
"name": "Scion",
"682": "TC"
},
"143": {
"name": "Seat",
"683": "Altea",
"684": "Cordoba",
"685": "Cupra",
"686": "Ibiza",
"144": "Leon",
"687": "Toledo"
},
"145": {
"name": "Skoda",
"688": "Fabia",
"689": "Forman",
"690": "Octavia"
},
"220": {
"name": "Smart",
"691": "Passion"
},
"146": {
"name": "Subaru",
"693": "Impreza",
"692": "Legacy"
},
"147": {
"name": "Suzuki"
},
"148": {
"name": "Tata",
"696": "Indica",
"697": "Indiga",
"698": "Indigo"
},
"74": {
"name": "Toyota",
"720": "Avalon",
"721": "Avensis",
"89": "Camry",
"722": "Carina",
"723": "Celica",
"87": "Corolla",
"724": "Cressida",
"725": "Crown",
"726": "Echo",
"728": "Matrix",
"727": "MR2",
"730": "Paseo",
"729": "Picnic",
"732": "Sky",
"733": "Solara",
"734": "Starlet",
"735": "Supra",
"88": "Yaris"
},
"149": {
"name": "Volkswagen",
"738": "Bora",
"739": "Brasilia",
"740": "Buggy",
"151": "Crossfox",
"741": "Escarabajo",
"150": "Fox",
"742": "Gol",
"743": "Golf",
"744": "Jetta",
"745": "New Bettle",
"746": "Parati",
"747": "Passat",
"748": "Polo",
"749": "Polo Classic",
"750": "Puma",
"751": "Spacefox",
"752": "Vento"
}
}
]
},
"200": {
"name": "Motos",
"brands": [
{
"231": {
"name": "Bera",
"768": "BR",
"769": "BRZ",
"777": "BWS",
"770": "Corvette",
"771": "DT",
"774": "Jaguar",
"767": "Mustang",
"776": "New Cobra",
"773": "New Majesty",
"772": "R1",
"775": "Runner"
},
"810": {
"name": "BMW",
"816": "C1",
"815": "F",
"817": "FGS",
"813": "GS",
"814": "K",
"818": "KGT",
"811": "R",
"812": "X Country"
},
"201": {
"name": "Empire Keeway",
"766": "Arsen",
"760": "Horse",
"761": "Outlook",
"763": "Owen",
"202": "RKV 200",
"765": "Speed",
"764": "Super Shadow",
"762": "Superlight",
"759": "TX"
},
"232": {
"name": "Skygo",
"787": "Elegance",
"781": "Executive",
"784": "Flash",
"782": "Fly Dragon",
"786": "Force",
"778": "Freedom",
"783": "Paseo",
"785": "Scorpion",
"779": "SG",
"780": "Spirit"
},
"800": {
"name": "Suzuki",
"801": "DR",
"804": "EN",
"809": "Freewind",
"803": "GN",
"802": "GSX",
"806": "Hayabusa",
"807": "Intrude",
"808": "SV",
"805": "V-Strom"
},
"788": {
"name": "Yamaha",
"790": "Artistic",
"789": "DT",
"796": "Fazer",
"795": "R6",
"792": "RX100",
"794": "RXZ",
"793": "V-Max",
"791": "WR",
"799": "XJ",
"797": "XTR",
"798": "YT"
}
}
]
},
"2": {
"name": "Otros",
"brands": [
{}
]
}
}
并且,例如,我收到了" 82"来自onchange事件。
我想迭代顶级json级别并匹配82.在此之后,我必须迭代他们的孩子并打印"品牌"内容。
我怎样才能像#" foreach"在PHP?。
问候。
答案 0 :(得分:1)
基于对象和数组结构的准确迭代是这样的:
var my82 = data['82'];
var brands = my82['brands'];
for (var item in brands[0]) {
console.log(brands[0][item].name);
}
结果:
Iveco
福特
麦克雪佛兰
Freightliner
国际
JAC
Kenworth
三菱
Pegaso
沃尔沃
大众汽车
Kamaz
它将在控制台上打印品牌名称。我希望它有所帮助。
答案 1 :(得分:0)
for (var key in json) {
if (!json.hasOwnProperty(key)) {
continue;
}
// loop body
}
hasOwnProperty
部分可能并不总是完全必要,但在某些情况下会出现除预期键之外的其他内容,例如,如果库已将原型方法添加到Object类型中。它有时会有所帮助。