如何将JSON值传递给数组

时间:2014-09-25 06:21:58

标签: javascript arrays json

如何将JSON值传递给数组?

我正在制作ajax请求以获取json

$.getJSON( "data/data.json", function( data ) {         
        var obj=data["DataContainer"]["profit"];
        for(i in obj){
            var temp=[];
            temp.push(obj[i].current);
            temp.push(obj[i].target);
            data3.push(temp);
        }   
        JSON.stringify(data3).replace(/\"/g, "");
        console.log(JSON.stringify(data3).replace(/\"/g, ""));
});

JSON

{
  "DataContainer": {
    "profit": [
      {
        "current": "60","target": "19"
      },
      {
        "current": "55","target": "19"
      },
      {
        "current": "55","target": "19"
      },
      {
        "current": "55","target": "19"
      },
      {
        "current": "55","target": "19"
      },
      {
        "current": "55","target": "19"
      }
    ]
  }
}

Console.log响应将是

[[60,19],[55,19],[55,19],[55,19],[55,19],[55,19]]

现在我需要将console.log值传递给

var rows = [["Current profit","Target profit"]],
            data3 = [[27, 19],[22,19],[35, 19],[23,19],[19, 19],[17,19]];

我的预期结果

var rows = [["Current profit","Target profit"]],
            data3 = [[60,19],[55,19],[55,19],[55,19],[55,19],[55,19]];

感谢任何帮助

为了更好地理解我在Jsfiddle中托管了我的代码(我无法从github加载json)

请查看 JSFIDDLE

1 个答案:

答案 0 :(得分:0)

如果您想在data3中使用数字而不是字符串,请使用parseInt()

    for(i in obj){
        var temp=[];
        temp.push(parseInt(obj[i].current, 10));
        temp.push(parseInt(obj[i].target, 10));
        data3.push(temp);
    }