How to write dynamic json object inside an array in javascript

Issue

Desired output–

[
  {
    "group1": {
      "Token1": "123443423",
      "Token2": "121414141"
    },
    "group2": {
      "Token1": "123443423",
      "Token2": "121414141"
    }
  }
]

Group1 and group2 is dynamic and also the token1 and token2 value is dynamic. So i write this way —

[ {`${group1}`:{ 
         "Token1" : `${token1}`,
         "Token2" : `${token2}`
              },
        `${group2}`:{ 
         "Token1" : `${token1}`,
         "Token2" : `${token2}`
              }
 }]

But ${group1} shows error unexpected token ` (template literate).

Solution

1. [Specific]

// helper function
function createGroup(groupName, token1, token2) {
  const group = {};
  group[groupName] = {
    Token1: token1,
    Token2: token2
  };
  return group;
}

//and then create a result output
var result = [
  createGroup('group1', group1token1, group1token2),
  createGroup('group2', group2token1, group2token2),
]

2. [More general] For multiple paramenters (more than fixed 2):

your parametersObject have to be as:

{
  Token1: 'token_1_value_here',
  Token2: 'token_2_value_here',
  ...
  ParameterN: 'parameter_n_value_here',
  ...
}

And then:

// helper function 2
function createGroup(groupName, parametersObject) {
  const group = {};
  group[groupName] = parametersObject;
  return group;
}

//and then create a result output
var result = [
  createGroup('group1', group1parametersDto),
  createGroup('group2', group2parametersDto)
]

Answered By – Ihar Dziamidau

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published