如果我有这个:
{
"data": [{
"id": "4831",
"name": "Rui Vasco Martins",
"nickname": "rvgmartins",
"money_start": "10200",
"balance": "8000"
}]
}
如何获取data->id
,data->name
等的值?
答案 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
内有一个数组,你可以这样做:
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;
答案 3 :(得分:0)
首先,让我们了解您的问题。需要注意的事项:
foo
data->id
这样的东西。如果您有一个名为data
的对象且其成员名为id
,那么您将其引用为data.id
name
位于数组中。数组的元素由索引引用,该索引从0开始,因此,标记为data
的数组是具有单个元素的数组,这是第0个元素因此,您可以使用id
获取foo.data[0].id
,然后将name
作为foo.data[0].name
。但是,如本身所示,没有任何东西强迫你的数组只有一个元素。如果有更多元素,您需要能够以某种方式决定您感兴趣的元素id
和name
。此外,您的数组不会被强制包含元素。< / p>
每当看到这样的JSON时,数组都被括在[]
括号内,对象被括在{}
括号内。