簡體   English   中英

用javascript獲取對象內部對象的值

[英]get value of object inside array inside object with javascript

如果我有這個:

{
  "data": [{
    "id": "4831",
    "name": "Rui Vasco Martins",
    "nickname": "rvgmartins",
    "money_start": "10200",
    "balance": "8000"
  }]
}

如何獲取data->iddata->name等的值?

數據是多重的。 這意味着它是一個對象數組。 沒有data-> id,只有data [n] - > id這樣的東西。 在這種情況下,您可能需要所有可能的ID,並且可以使用傳統的循環或其他方法來完成。

var i =0;
var total = object.data.length;
var ids = [];
for(; i < total; i++) {
   ids.push( data[ i ].id );
}
console.log(ids);

如果你確定只有1個數據輸入並且永遠是,你可以直接前往object.data[ 0 ].id

請注意,“object”是包含JSON的變量:)

下次,這里有一點提示: http//jsonlint.com/

希望有所幫助!

您的對象包含一個數組,因此您需要使用正確的索引來進一步深入研究該對象; 你的id和名字碰巧在第一個數組中,所以我們使用obj.data[0]

var obj = {"data":[{"id":"4831","name":"Rui Vasco Martins","nickname":"rvgmartins","money_start":"10200","balance":"8000","profit":"5010","nreload":"1","deal_id":"4813","created_at":"2015-05-27 12:54:33","updated_at":"2015-07-21 22:31:47"}],"status":200,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"url":"services/dashboard","headers":{"Accept":"application/json, text/pla`in, */*"}},"statusText":"OK"}

您可以使用點或方括號表示法來進一步標識對象屬性,這里是點符號:

var data_id = obj.data[0].id; // "4831"
var data_name = obj.data[0].name; // "Rui Vasco Martins"

這是方括號表示法:

var data_id = obj.data[0]['id']; // "4831"
var data_name = obj.data[0]['name']; // "Rui Vasco Martins"

data有一個數組,你可以這樣做:

 var myJson = { "data": [{ "id": "4831", "name": "Rui Vasco Martins", "nickname": "rvgmartins", "money_start": "10200", "balance": "8000", "profit": "5010", "nreload": "1", "deal_id": "4813", "created_at": "2015-05-27 12:54:33", "updated_at": "2015-07-21 22:31:47" }], "status": 200, "config": { "method": "GET", "transformRequest": [null], "transformResponse": [null], "url": "services/dashboard", "headers": { "Accept": "application/json, text/plain, */*" } }, "statusText": "OK" } document.write('id: ' + myJson.data[0].id + '</br>name: ' + myJson.data[0].name); 

首先,讓我們了解你的問題。 要注意的事項:

  • 你有一個JSON,它在一個變量里面,我會假設這個變量是foo
  • 在Javascript中沒有data->id這樣的東西。 如果您有一個名為data的對象,並且它有一個名為id的成員,那么您將其引用為data.id
  • name在數組中。 數組的元素由索引引用,該索引從0開始,因此,您的數組標注為data是具有單個元素的數組,這是第0個元素

因此,您可以使用foo.data[0].id獲取id ,並且可以將namefoo.data[0].name 但是,如本身所示,沒有任何東西強迫你的數組只有一個元素。 如果有更多的元素,你需要能夠以某種方式決定你感興趣的元素的idname 。此外,你的數組不會被迫擁有元素。

每當看到這樣的JSON時,數組都包含在[]括號內,對象被括在{}括號內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM