简体   繁体   中英

How do i add a random JSON-Part to a JSON Object?

let´s assume i have a json message:

json_msg =

[{ LOG: 'TPT',
  TYPE: 'UPDATE',
  UIN: 'VEHICLE',
  SEQ_NO: 20129,
  VALUE: 1,
  TIMESTAMP: 518342.438263017,
  EXPERIMENT: 0,
  IDENT: '.Model.Index_obj.MuLifeCycle_obj.Mu.vh_Transporter:2',
  STAGE: 'START',
  MODE: '' },
{ LOG: 'TPT',
  TYPE: 'UPDATE',
  UIN: 'VEHICLE',
  SEQ_NO: 20129,
  VALUE: 1,
  TIMESTAMP: 518342.438263017,
  EXPERIMENT: 0,
  IDENT: '.Model.Index_obj.MuLifeCycle_obj.Mu.vh_Transporter:2',
  STAGE: 'START',
  MODE: '' }.
{ LOG: 'TPT',
  TYPE: 'UPDATE',
  UIN: 'VEHICLE',
  SEQ_NO: 20129,
  VALUE: 1,
  TIMESTAMP: 518342.438263017,
  EXPERIMENT: 0,
  IDENT: '.Model.Index_obj.MuLifeCycle_obj.Mu.vh_Transporter:2',
  STAGE: 'START',
  MODE: '' }]

and i want to append it to an empty json object

var testObject = {}

and now i want to use a loop in order to append these json-messages in testObject

for (let i =0; i< json_msg.length; i++) {
     // TODO 
     testObject.push(json_msg[i])} // does not work

Somebody has an idea?

Note that this is a test-case. My real-life example filters incoming json messages and i want a class method that appends these filtered messages into a new JSON Object message (same like '.push' for arrays).

I can do this in 3 ways with Object.assign or {...} or with loops

 let data= [{ "LOG": 'TPT', "TYPE": 'UPDATE', "UIN": 'VEHICLE', "SEQ_NO": 20129, "VALUE": 1, "TIMESTAMP": 518342.438263017, "EXPERIMENT": 0, "IDENT": '.Model.Index_obj.MuLifeCycle_obj.Mu.vh_Transporter:2', "STAGE": 'START', "MODE": '' },{ "LOG": 'TPT', "TYPE": 'UPDATE', "UIN": 'VEHICLE', "SEQ_NO": 20129, "VALUE": 1, "TIMESTAMP": 518342.438263017, "EXPERIMENT": 0, "IDENT": '.Model.Index_obj.MuLifeCycle_obj.Mu.vh_Transporter:2', "STAGE": 'START', "MODE": '' },{ "LOG": 'TPT', "TYPE": 'UPDATE', "UIN": 'VEHICLE', "SEQ_NO": 20129, "VALUE": 1, "TIMESTAMP": 518342.438263017, "EXPERIMENT": 0, "IDENT": '.Model.Index_obj.MuLifeCycle_obj.Mu.vh_Transporter:2', "STAGE": 'START', "MODE": '' } ] let newObject={...data} console.log("newObject:",newObject) ////or let newObject2=Object.assign({},data) console.log("newObject2:",newObject2) ////or loop let newObject3={} data.forEach((x,i)=> newObject3[i]=x ) console.log("newObject3:",newObject3)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM