即时通讯使用骨干,jquery,下划线,我想获得一些本地文件中的JSON。
我目前正在使用
//Will get data but no access to individual objects
$.getJSON('carinfo.json', function(data){
console.log(data);
var data2 = data['unitId'];
console.log(data2);
});
将JSON拉入数据变量,但我不知道从哪里开始。例如,我如何从字段名称'carID'中获取所有值?
这是我的一个JSON条目看起来像
{
"carID": "xx",
"xxx": {
"unitID": "xxxxxxx",
"positionHistory": [{
"lat": "xxxxx",
"long": "xxxxxxxx",
"time": "xxxxxxxxxx",
"status": "1",
"estimatedSpeed": "0",
"lastSoundFileName": "xxxxx",
"lastSoundRange": "12",
"lastSoundTime": "xxxxxxxx",
"isToday": false,
"minutesAgo": xxxxxx
}]
},
"registration": "xxxxxxx",
"color": "xxxxxxxx",
"phone": "",
"model": "xxxx"
}
编辑:使用data.carID返回undefined。
Chrome控制台输出的屏幕截图
答案 0 :(得分:1)
更新以说明您的数据是数组。
$.getJSON('carinfo.json', function (data) {
// Loop over all the cars in data
for (var i = 0; i < data.length; i++) {
var car = data[i];
car.carID === 'xx'; // just do data.whatever to get the value
car.phone === '';
car.xxx.positionHistory[0].status === '1'; // data.xxx.positionHistory is an array;
// use [i] to get the ith element
car.xxx['unitID'] === 'xxxxxxx'; // You can use bracket notation with a
// string to get an object property if
// you prefer
}
});
答案 1 :(得分:0)
如果您的JSON是汽车条目数组,那么您需要访问它们:
$.getJSON('carinfo.json', function (data) {
for(var i=0; i<data.length; i++) {
console.log(data[i].carID);
}
// or access without a loop:
console.log(data[0].carID);
console.log(data[1].carID);
console.log(data[0].xxx.unitID);
});