JavaScript: How to get comma separated string from json string?

Viewed 5947

I have a JSON string value that corresponds to this object:

{
"id" : "122223232244",
"title" : "התרעת פיקוד העורף",
"data" : ["עוטף עזה 218","עוטף עזה 217"]
}

I am trying to extract the following value from the object above, so that the data array is joined together as a single comma separated string like this:

"עוטף עזה 218,עוטף עזה 217"

How can this be done?

3 Answers

This can be achieved via the join() method which is built into the Array type:

const object = {
"id" : "122223232244",
"title" : "התרעת פיקוד העורף",
"data" : ["עוטף עזה 218","עוטף עזה 217"]
}

/* Join elements of data array in object to a comma separated string */
const value = object.data.join();

console.log(value);

If no separator argument is supplied, then the join() method will default to use a comma separator by default.

Update

If the JSON was supplied in raw text via a string you can use the JSON.parse() method to extract an object from the JSON string value as a first step like so:

const json = `{"id" : "122223232244","title" : "התרעת פיקוד העורף","data" : ["עוטף עזה 218","עוטף עזה 217"]}`

/* Parse input JSON string */
const object = JSON.parse(json);

/* Join elements of data array in object to a comma separated string */
const value = object.data.join();

console.log(value);

Access object properties using dot notation (e.g. obj.data) and then on the array you can use join to convert to a string with a comma in between.

const obj = {
    "id" : "122223232244",
    "title" : "התרעת פיקוד העורף",
    "data" : ["עוטף עזה 218","עוטף עזה 217"]
}

console.log(obj.data.join(', '))

It should be accessible with the name of the object and dot notation:

let obj = {
  "id" : "122223232244",
  "title" : "התרעת פיקוד העורף",
  "data" : ["עוטף עזה 218","עוטף עזה 217"]
}

You could get this with:

obj.data
Related