Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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中的JSON反序列化_Javascript_Angularjs - Fatal编程技术网

javascript中的JSON反序列化

javascript中的JSON反序列化,javascript,angularjs,Javascript,Angularjs,您好,我如何解析以下JSON {"DataStats":[["Type","Name","valueDateTime","value","attr0","attr1","attr2"], ["AA","End Time","10/4/2014 12:00:00 AM","01:10:23.37","USA_325","expected","AA_overall"], ["AA","End Time","10/4/2014 12:00:00 AM","01:10:23.37","USA_325",

您好,我如何解析以下JSON

{"DataStats":[["Type","Name","valueDateTime","value","attr0","attr1","attr2"],
["AA","End Time","10/4/2014 12:00:00 AM","01:10:23.37","USA_325","expected","AA_overall"],
["AA","End Time","10/4/2014 12:00:00 AM","01:10:23.37","USA_325","expected","AA_overall"]]}
低于模型

    [ {Type : "AA",Name :"End Time",valueDateTime : "10/4/2014 12:00:00 AM", value : "01:10:23.37" ,
attr0 :"USA_325" , attr1 : "expected" , attr2 : "AA_overall"  },{Type : "AA",Name :"End Time",valueDateTime : "10/4/2014 12:00:00 AM", value : "01:10:23.37" ,
attr0 :"USA_325" , attr1 : "expected" , attr2 : "AA_overall"  }]
我在下面试过

 $scope.ob = JSON.parse(JSON.stringify($scope.j));

              for (var i=0; i <= $scope.ob.length; i++)
              {
                  console.log($scope.ob[i]);

              }
$scope.ob=JSON.parse(JSON.stringify($scope.j));

对于(var i=0;i,此处作出两个假设:

  • JSON的第一个结果是键的规范
  • 结果始终遵循相同的顺序(例如,索引0始终是
    类型
    字段)
  • 有了这两个假设,使用一对嵌套的for循环就很容易做到这一点。使用ES5方法可能会更有趣,但索引顺序在这里很重要(因为JSON取决于值的顺序)所以我坚持使用常规的
    for
    循环。就我个人而言,如果可能的话,我会重新格式化JSON,让它以更容易处理的格式返回

    var json = '{"DataStats":[["Type","Name","valueDateTime","value","attr0","attr1","attr2"],["AA","End Time","10/4/2014 12:00:00 AM","01:10:23.37","USA_325","expected","AA_overall"],["AA","End Time","10/4/2014 12:00:00 AM","01:10:23.37","USA_325","expected","AA_overall"]]}';
    var parsed = JSON.parse(json).DataStats;
    var keys = parsed[0];
    
    var result = [];
    for (var i = 1; i < parsed.length; i++) {
      var aux = {};
    
      for (var j = 0; j < keys.length; j++) {
        aux[keys[j]] = parsed[i][j];
      }
    
      result.push(aux);
    }
    
    console.log(result);
    
    var json='{“数据状态”:[[“类型”、“名称”、“valueDateTime”、“值”、“attr0”、“attr1”、“attr2”]、[“AA”、“结束时间”、“2014年10月4日12:00:00 AM”、“01:10:23.37”、“USA_325”、“预期”、“AA_总体”]、[“AA”、“结束时间”、“2014年10月4日12:00:00 AM”、“01:10:23.37”、“USA_325”、“预期”、“AA_总体”];
    var parsed=JSON.parse(JSON).DataStats;
    var keys=已解析的[0];
    var结果=[];
    for(var i=1;i
    JSON.parse(JSON.stringify(…)
    基本上什么都不做。什么是
    $scope.j
    ?如果它是一个JSON字符串,那么你只需要
    JSON.parse($scope.j)
    。没有注释的向下投票是令人讨厌的minew@ChrisMartin……它什么也没做