construct json object in Angular with dynamic field names

12,933

Solution 1

Just Run The Snippet , you will get the idea :

var fieldName1 = 'name1';
var fieldValue1 = 'value1';
var fieldName2 = 'name2';
var fieldValue2 = 'value2';

var object = {};
object[fieldName1] = fieldValue1;
object[fieldName2] = fieldValue2;

console.log(object);

Solution 2

Use this:

let object = {}
for(let field of allFields){
    object[field] = value
}

Here allFields is an array with all fields.

Share:
12,933

Related videos on Youtube

Sing Leung
Author by

Sing Leung

Updated on June 04, 2022

Comments

  • Sing Leung
    Sing Leung almost 2 years

    newbie question: is there a better way to construct json object in Angular? Currently I can only do the following:

    var fieldName1 = 'name1';
    var fieldValue1 = 'value1';
    var fieldName2 = 'name2';
    var fieldValue2 = 'value2';
    
    //**failed to compile**
    // var result = {{fieldName1:fieldValue1},{fieldName2,fieldValue2}};
    
    var object1 = {};
    object1[`${fieldName1}`] = fieldValue1;
    var object2 = {};
    object2[`${fieldName2}`] = fieldValue2;
    
    var result = {object1, object2};
    

    The field names "name1", "name2" are not static values. The expected result is:

    {
      { name1 : "value1" },
      { name2 : "value2" }
    }
    
  • Trenton McKinney
    Trenton McKinney over 4 years
    The provided answer was flagged for review as a Low Quality Post. Here are some guidelines for How do I write a good answer?. This provided answer may be correct, but it could benefit from an explanation. Code only answers are not considered "good" answers. From review.