2015-12-25 135 views
0

我还没有处理过很多JavaScript中的JSON字符串,尽管我的研究我无法解决这个简单问题。这是我的问题:JQuery JSON获取嵌套值

我的JSON result

[{ 
    "Id": "7884", 
    "name": "Some Name", 
    "location": { 
     "distance": 3.2988, 
     "geoCode": { 
      "latitude": "Y", 
      "longitude": "X" 
     }, 
     "address": { 
      "street": "14706 E Example Ave.", 
      "state": "CA", 
      "city": "Hollywood", 
      "country": "USA", 
      "postalCode": "99999" 
     } 
    } 
}] 

现在我解析和迭代:

var obj = JSON.parse(result); 

alert(obj[0].Id); 

这个伟大的工程的字符串的更高水平的部分。

但是我不知道如何进入字符串的“地址”部分。我试过obj[0].address.street,obj[0].address[street]甚至obj[0].address[0]无济于事。

有人可以指导我以正确的方式挖掘到street的关卡吗?

回答

6

您应该通过location对象,因为address是里面:

obj[0].location.address.street 

希望这有助于。


var obj =[{ 
 
    "Id": "7884", 
 
    "name": "Some Name", 
 
    "location": { 
 
     "distance": 3.2988, 
 
     "geoCode": { 
 
      "latitude": "Y", 
 
      "longitude": "X" 
 
     }, 
 
     "address": { 
 
      "street": "14706 E Example Ave.", 
 
      "state": "CA", 
 
      "city": "Hollywood", 
 
      "country": "USA", 
 
      "postalCode": "99999" 
 
     } 
 
    } 
 
}]; 
 

 
$('#result').text(obj[0].location.address.street);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span id='result'></span>

+0

哦党!我错过了“地点”层次!谢谢Zakaria! – Zak

+1

@Zak你也可以从一个从另一个对象继承的对象中访问属性,例如:obj [0] ['location'] ['address'] ['street']'..这也可以用来引用属性你不知道,但使用变量来引用属性 – nosthertus

+0

感谢@nosthertus您的干预/建议,是的它也会工作。 –