我试图在JSON响应中获取数组数据。以下是我的JSON响应,我需要从date
数组中获取stallNo
和data
。
{
"operation": "AnodeSet",
"stageMap": {
"stop": 5,
"adders": 4
// ...
},
"anodeProb": [
{
"name": "hello",
"index" : "hii"
}
],
"data" : [
{
"operation" : "AnodeSet",
"stallNo: 7",
"date" : "21/12/2015"
}
]
}
答案 0 :(得分:2)
如果data
数组中始终只返回1个元素,则可以通过索引检索它:
var date = json.data[0].date;
var stallNo = json.data[0].stallNo;
如果数组中可能有多个元素,则需要循环遍历它们:
for (var i = 0; i < json.data.length; i++) {
var date = json.data[i].date;
var stallNo = json.data[i].stallNo;
// use the above values as required...
}
答案 1 :(得分:1)
如果您正在搜索angularjs解决方案,那么您可以使用angular.forEach
:
angular.forEach(json.data, function(item, key) {
console.log(item.stallNo);
console.log(item.date);
});
如果您的回复中有多个对象,请使用上面的对象。虽然也适用于单个目标。
答案 2 :(得分:0)
我猜这很简单
假设对象中的响应
var object={
"operation": "AnodeSet",
"stageMap": {
"stop": 5,
"adders": 4
// ...
},
"anodeProb": [
{ "name": "hello", "index" : "hii" }
],
"data" : [
{ "operation" : "AnodeSet", "stallNo: 7", "date" : "21/12/2015" }
]
}
然后您需要跟踪您的要求: -
object-->
-->data(array)
-->index[0,1,2.....n]
-->Keys you want.
var date = object.date[0].date;
var stallNo = object.date[0].stallNo;
答案 3 :(得分:0)
您可以使用下面的下划线Link for reference
中的下划线方法 _.pluck(yourObject.data, 'stallNo');
_.pluck(yourObject.data, 'date');
输出将是[7,10,12,...],[21/12/2015,...](直到数据对象的长度)
答案 4 :(得分:0)
我假设您的JSON未被解析为字符串。
var JSONstr='{\
"operation": "AnodeSet",\
"stageMap": {\
"stop": 5, \
"adders": 4\
},\
"anodeProb": [\
{ \
"name": "hello", \
"index" : "hii" \
}\
],\
"data" : [\
{ \
"operation" : "AnodeSet", \
"stallNo": 7, \
"date" : "21/12/2015" \
}\
]\
}';
var obj = JSON.parse(JSONstr);
console.log(obj.data[0].date, obj.data[0].stallNo);
您可以使用我的沙箱进行检查以检查其工作原理:http://jsbin.com/xugahatiwo/1/edit?js,console
迎接
答案 5 :(得分:0)
angular.forEach(json.data, function(value) {
console.log(value.date);
console.log(value.stallNo);
});