如何从angularjs中的json响应中获取数组

时间:2015-05-18 06:52:43

标签: jquery html json angularjs getjson

我试图在JSON响应中获取数组数据。以下是我的JSON响应,我需要从date数组中获取stallNodata

{
    "operation": "AnodeSet",
    "stageMap": {
        "stop": 5, 
        "adders": 4
        // ...
    },
    "anodeProb": [
        { 
            "name": "hello", 
            "index" : "hii" 
        }
    ],
    "data" : [
        { 
            "operation" : "AnodeSet", 
            "stallNo: 7", 
            "date" : "21/12/2015" 
        }
    ]
}

6 个答案:

答案 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);
});