1. ホーム
  2. javascript

[解決済み] JavaScriptでJSONオブジェクトを動的に作成する(文字列の連結は行わない)。

2022-02-20 23:16:03

質問事項

このようなJSONデータがあります。

{
    "employees": [
        {
            "firstName": "John",
            "lastName": "Doe"
        },
        {
            "firstName": "Anna",
            "lastName": "Smith"
        },
        {
            "firstName": "Peter",
            "lastName": "Jones"
        }
    ]
}

従業員の列と行の数がわからない場合、JavaScriptでどのようにこのオブジェクトを作成すればよいでしょうか(文字列を連結せずに)。私は"onGeneratedRow"メソッドで各行を取得し、私は各列(firstName、lastName)を'{}'ブラケットにプッシュする必要があると仮定しています。

var viewData = { 
    employees : [] 
};

var rowNum = -1; 

function onGeneratedRow(columnsResult)
{
    rowNum = rowNum + 1;
    viewData.employees.push({});    
    columnsResult.forEach(function(column) {                  
    var columnName = column.metadata.colName;
    viewData.employees[rowNum][columnName] = column.value;  });
}

解決方法は?

これが必要なんだ!

function onGeneratedRow(columnsResult)
{
    var jsonData = {};
    columnsResult.forEach(function(column) 
    {
        var columnName = column.metadata.colName;
        jsonData[columnName] = column.value;
    });
    viewData.employees.push(jsonData);
 }