stark
stark

Reputation: 59

Split a JSON object by parameters

I have a JSON Object defined in Typescript, I want to split it into parts but I can only get the keys:

This is my JSON object:

let data = {
  "dataTest": "data1,data2,data3",
  "insTest": "ins1,ins2,ins3",
  "serTest": "ser1,ser2,ser3"
}

This is what I do to loop through it:

for (let key of Object.keys(data)) {
  console.log(key)
}

This is what I get:

1º //dataTest
2º //insTest
3º //serTest

This is what I want to get:

1º //dataTest: "data1,data2,data3"
2º //insTest: "ins1,ins2,ins3"
3º //serTest: "ser1,ser2,ser3"

Upgrade

Is it also possible to get the concatenation of all the values in a single array?

Example:

data1,data2,data3,ins1,ins2,ins3,ser1,ser2,ser3

Upvotes: 0

Views: 4937

Answers (3)

abdella
abdella

Reputation: 734

Here is another way

for(let key in data) {
    console.log(key + ': ' + '"' + data[key] + '"');
}

using Template literals

for(let key in data) {
    console.log(`${key}: "${data[key]}"`);
}

Upvotes: 0

Ganesan C
Ganesan C

Reputation: 277

You can get the required value using Object.entries().

let data = {
  "dataTest": "data1,data2,data3",
  "insTest": "ins1,ins2,ins3",
  "serTest": "ser1,ser2,ser3"
}

Object.entries(data).forEach(([key, value]) => {
  console.log(`${key}: ${value}`);
});

Upvotes: 0

Luc
Luc

Reputation: 534

Use Object.entries().

The Object.entries() method returns an array of a given object's own enumerable string-keyed property [key, value] pairs.

See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries

const data = {
  dataTest: "data1,data2,data3",
  insTest: "ins1,ins2,ins3",
  serTest: "ser1,ser2,ser3"
};

const entries = Object.entries(data);

entries.forEach(([key, value]) => {
  console.log(`${key}: ${value}`);
});

Upvotes: 0

Related Questions