Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用angular获取这些json嵌套值?_Javascript_Angularjs_Json - Fatal编程技术网

Javascript 如何使用angular获取这些json嵌套值?

Javascript 如何使用angular获取这些json嵌套值?,javascript,angularjs,json,Javascript,Angularjs,Json,我有一个json响应: { "tags": [ { "name": "SolarData", "results": [ { "groups": [ { "name": "type", "type": "number" } ], "attributes": {

我有一个json响应:

 {
  "tags": [
    {
      "name": "SolarData",
      "results": [
        {
          "groups": [
            {
              "name": "type",
              "type": "number"
            }
          ],
          "attributes": {
            "customer": [
              "Acme"
            ],
            "host": [
              "server1"
            ]
          },
          "values": [
            [
              1429950000000,
              46,
              3
            ],
            [
              1429960000000,
              62,
              3
            ],
            [
              1429970000000,
              183,
              3
            ],
            [
              1429980000000,
              156,
              3
            ],
            [
              1429990000000,
              205,
              3
            ]
          ]
        }
      ],
      "stats": {
        "rawCount": 5
      }
    }
  ]
}
我只想得到每个值的前两项。例如,我希望在范围变量中返回[[1429950000000,46]、[1429960000000,62]、[14299700000183]、…],以便最终将其用于图形。一般来说,我对angular和web开发都是新手,但到目前为止,我一直是这样尝试的

$http({
           url: 'file.json',
           method: 'POST',    
           data: '(query data here)'
         }).then(function(data, status){
            $scope.solarData = data.tags.results.values;
            conosle.log($scope.solarData);
        });
var requirementArray=new Array();
对于(i=0;i<$scope.solarData.length;i++){
var pare=新数组();
pare.push($scope.solarData[i][0]);
价格推动($scope.solarData[i][1]);
需求阵列推送(pare);
}
所需费用如下:

[[1429950000000,46],[1429960000000,62],[14299700000183],…]

var requirementArray=new Array();
对于(i=0;i<$scope.solarData.length;i++){
var pare=新数组();
pare.push($scope.solarData[i][0]);
价格推动($scope.solarData[i][1]);
需求阵列推送(pare);
}
所需费用如下:

[1429950000000,46],[1429960000000,62],[14299700000183],…]

您可以使用:

如果要返回大量项目或数量可变的项目,可以使用

return values.slice(0, 2);
//---------------------^ replace this
var数据={
“标签”:[{
“名称”:“SolarData”,
“结果”:[{
“团体”:[{
“名称”:“类型”,
“类型”:“编号”
}],
“属性”:{
“客户”:[
“极致”
],
“主持人”:[
“服务器1”
]
},
“价值观”:[
[
1429950000000,
46,
3.
],
[
1429960000000,
62,
3.
],
[
1429970000000,
183,
3.
],
[
1429980000000,
156,
3.
],
[
1429990000000,
205,
3.
]
]
}],
“统计数据”:{
“原始计数”:5
}
}]
}
var custom=data.tags[0]。结果[0]。值。映射(函数(值){
返回[值[0],值[1];
});
console.log(自定义)您可以使用:

如果要返回大量项目或数量可变的项目,可以使用

return values.slice(0, 2);
//---------------------^ replace this
var数据={
“标签”:[{
“名称”:“SolarData”,
“结果”:[{
“团体”:[{
“名称”:“类型”,
“类型”:“编号”
}],
“属性”:{
“客户”:[
“极致”
],
“主持人”:[
“服务器1”
]
},
“价值观”:[
[
1429950000000,
46,
3.
],
[
1429960000000,
62,
3.
],
[
1429970000000,
183,
3.
],
[
1429980000000,
156,
3.
],
[
1429990000000,
205,
3.
]
]
}],
“统计数据”:{
“原始计数”:5
}
}]
}
var custom=data.tags[0]。结果[0]。值。映射(函数(值){
返回[值[0],值[1];
});
console.log(自定义)您可以使用:

$http({
   url: 'file.json',
   method: 'POST',    
   data: '(query data here)'
 }).then(function(data, status){
    $scope.solarData = data.tags[0].results[0].values.map(
        function(curVal, index, arr) {
            return [curVal[0], curVal[1]];
        }
    );

    conosle.log($scope.solarData);
});
您可以使用:

$http({
   url: 'file.json',
   method: 'POST',    
   data: '(query data here)'
 }).then(function(data, status){
    $scope.solarData = data.tags[0].results[0].values.map(
        function(curVal, index, arr) {
            return [curVal[0], curVal[1]];
        }
    );

    conosle.log($scope.solarData);
});


干净漂亮。虽然我想知道
是否返回[values[0],但是值[1]]
可能会更快。(无论如何,差异可能可以忽略不计)@Cerbrus这是正确的,它会更快,因为它避免了函数调用。尝试了此方法后,我在标记[0]错误处不断得到一个“无法读取未定义的属性“0”。@KrustyCheerio它使用的数据与您发布的数据相同。。。可能您正在获取不同的数据,其中没有标记数组?将其更改为data.data.tags[0]。结果[0]。值。映射。。。。它工作得很好!谢谢你的帮助,很干净。虽然我想知道
是否返回[values[0],但是值[1]]
可能会更快。(无论如何,差异可能可以忽略不计)@Cerbrus这是正确的,它会更快,因为它避免了函数调用。尝试了此方法后,我在标记[0]错误处不断得到一个“无法读取未定义的属性“0”。@KrustyCheerio它使用的数据与您发布的数据相同。。。可能您正在获取不同的数据,其中没有标记数组?将其更改为data.data.tags[0]。结果[0]。值。映射。。。。它工作得很好!感谢您的帮助。如果您不使用
索引、arr
状态
参数,为什么要添加这些参数?@Cerbrus为了让示例更清晰,如果他没有阅读有关函数的文档,现在op仍然知道参数存在,那么他不阅读文档怎么知道
状态
的含义呢<代码>索引
arr
更容易解释,但最好链接到文档。@Cerburs我只是从他自己的示例中复制了这一点啊,没有检查它。如果不使用它们,为什么要添加
索引、arr
状态
参数?@Cerburs为了示例的清晰性,如果他没有阅读有关函数的文档,那么现在op仍然知道存在的参数,如果不阅读文档,他怎么知道
状态
意味着什么<代码>索引
arr
更容易解释,但最好链接到文档。@Cerburs我只是从他自己的示例中复制了它啊,没有检查它。