在AngularJS中创建json对象

在AngularJS中创建json对象,json,angularjs,Json,Angularjs,我试图在AngularJS中创建一个json对象 我的代码如下 for(i=0;i<5;i++){ var dCol = file.columns[i].value; var dRow = file.rows[i].value; $scope.fileContents.push({ dCol: dRow }); } for(i=0;i这是因为dCol是一个键,而键在JS对象中总是一个字符串 试试这个: for(i=0;i<5;i++){

我试图在AngularJS中创建一个json对象 我的代码如下

 for(i=0;i<5;i++){

    var dCol = file.columns[i].value;
        var dRow = file.rows[i].value;
        $scope.fileContents.push({ dCol: dRow });

}

for(i=0;i这是因为
dCol
是一个键,而键在JS对象中总是一个字符串

试试这个:

for(i=0;i<5;i++){
   var obj ={};
   var dCol = file.columns[i].value;
   var dRow = file.rows[i].value;

    obj[dCol]=dRow;

    $scope.fileContents.push(obj);

}
而不是这样做:

$scope.fileContents.push({ dCol: dRow });
请这样做:

var tmpObj = {};
tmpObj[dCol] = dRow;
$scope.fileContents.push(tmpObj);

您是否对变量和对象属性之间的差异感到困惑, 在您的示例中,您正在将名为dCol的属性添加到推入fileContents的对象中

顺便说一下, 如果dCol变量是字符串,则可以执行以下操作:

var item = {}; item[dcol] = dRow; fileContents.push(item);
如果变量dCol不是字符串,可以考虑将其添加到对象中:

fileContents.push({ "dCol": dCol, "dRow": dRow });

在这种情况下,如何使用file.columns[I].value中的值作为键?
fileContents.push({ "dCol": dCol, "dRow": dRow });