用javascript获取对象内部对象的值

时间:2015-09-07 19:49:28

标签: javascript arrays

如果我有这个:

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

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

4 个答案:

答案 0 :(得分:4)

数据是多重的。这意味着它是一个对象数组。没有data-> id,只有data [n] - > id这样的东西。在这种情况下,您可能需要所有可能的ID,并且您可以使用传统的循环或其他方式来执行此操作。

NSNotificationCenter.defaultCenter().postNotificationName(GameViewController.NSNotificationKey.removeObserver, object: nil)

如果您确定只有1个数据输入,并且始终是,您可以直接前往var i =0; var total = object.data.length; var ids = []; for(; i < total; i++) { ids.push( data[ i ].id ); } console.log(ids);

请注意,“object”是包含JSON的变量:)

下次,这里有一点提示: http://jsonlint.com/

希望有所帮助!

答案 1 :(得分:4)

您的对象包含一个数组,因此您需要使用正确的索引来进一步深入研究该对象;您的ID和名称恰好位于第一个数组中,因此我们使用$id = $_GET['id']; $sql = "SELECT * FROM vehicles WHERE id='$id'"; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $row['make']; $dir = "uploaded_images/"; $filePath= $row['images_path']; $fileArray = explode("*",$filePath); //split the filepath foreach($fileArray as $file) { if(file_exists($dir.$file)) //check if file exist { echo "<img class='images' src='$dir/$file'>"; } } } }

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"

答案 2 :(得分:0)

data内有一个数组,你可以这样做:

&#13;
&#13;
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);
&#13;
&#13;
&#13;

答案 3 :(得分:0)

首先,让我们了解您的问题。需要注意的事项:

  • 你有一个JSON,它在一个变量里面,我会假设这个变量是foo
  • Javascript中没有data->id这样的东西。如果您有一个名为data的对象且其成员名为id,那么您将其引用为data.id
  • name位于数组中。数组的元素由索引引用,该索引从0开始,因此,标记为data的数组是具有单个元素的数组,这是第0个元素

因此,您可以使用id获取foo.data[0].id,然后将name作为foo.data[0].name。但是,如本身所示,没有任何东西强迫你的数组只有一个元素。如果有更多元素,您需要能够以某种方式决定您感兴趣的元素idname。此外,您的数组不会被强制包含元素。< / p>

每当看到这样的JSON时,数组都被括在[]括号内,对象被括在{}括号内。