我正在使用facebook JS SDK,它以JSON格式返回用户的信息。我知道如何获得响应,如response.email返回电子邮件地址。但是如何从嵌套数组对象中获取元素?示例:用户的教育历史记录可能包含多个数组,每个数组都有一个元素,例如" name" "学校"。我想从对象的最后一个数组中获取元素。
这是我得到的样本JSON: -
"education": [
{
"school": {
"id": "162285817180560",
"name": "Jhenaidah** School"
},
"type": "H**hool",
"year": {
"id": "14404**5610606",
"name": "2011"
},
"id": "855**14449421"
},
{
"concentration": [
{
"id": "15158**968",
"name": "Sof**ering"
},
{
"id": "20179020**7859",
"name": "Dig**ty"
}
],
"school": {
"id": "10827**27428",
"name": "Univer**g"
},
"type": "College",
"id": "9885**826013"
},
{
"concentration": [
{
"id": "108196**810",
"name": "Science"
}
],
"school": {
"id": "2772**996993",
"name": "some COLLEGE NAME I WANT TO GET"
},
"type": "College",
"year": {
"id": "1388*****",
"name": "2013"
},
"id": "8811215**16"
}]
我想说我想从最后一个数组中获取"name": "some COLLEGE NAME I WANT TO GET"
。如何用Javascript做到这一点?我希望我能解释一下我的问题。谢谢
答案 0 :(得分:2)
var json = '{}' // your data;
// convert to javascript object:
var obj = JSON.parse(json);
// get last item in array:
var last = obj.education[obj.education.length - 1].school.name;
// result: some COLLEGE NAME I WANT TO GET
答案 1 :(得分:1)
如果上面的json已保存到名为json
的对象,则可以使用以下内容访问学校名称"some COLLEGE NAME I WANT TO GET"
:
json.education[2].school.name
答案 2 :(得分:1)
如果您知道该元素的位置,那么您可以通过调用
选择它var obj = FACEBOOK_ACTION;
obj.education[2].school.name
如果您想选择特别是最后一个元素,请使用以下内容:
obj.education[ obj.education.length - 1 ].scool.name
答案 3 :(得分:0)
试试这个,
if (myData.hasOwnProperty('merchant_id')) {
// do something here
}
其中JSON myData
是:
{
amount: "10.00",
email: "someone@example.com",
merchant_id: "123",
mobile_no: "9874563210",
order_id: "123456",
passkey: "1234"
}
这是一个简单的例子供您理解。在嵌套对象的场景中,循环遍历JSON数据并使用hasOwnProperty
检查密钥name
是否存在。