JSONArray в строку, разделенную запятыми, в JavaScript

#javascript

Вопрос:

У меня есть ниже JSON

 {
    "id": 1111,
    "numbers": [
        "00",
        "01",
        "02"
    ],
    "alphabets": [
        "a",
        "b",
        "c"
    ]
}
 

Я хочу преобразовать этот массив JSON в строку в JAVASCRIPT

Ожидаемый результат:

 {
    "id": 1111,
    "numbers": "00,01,02",
    "alphabets": "a,b,c"
}
 

Пожалуйста, Помогите!!

Ответ №1:

Метод объединения массивов должен помочь вам в этом:

 ["1", "2", "3"].join(',') // "1,2,3" 
 

Предполагая, что вы не хотите изменять исходный объект, вы можете начать с чего-то вроде этого:

 const data = {
    "id": 1111,
    "numbers": [
        "00",
        "01",
        "02"
    ],
    "alphabets": [
        "a",
        "b",
        "c"
    ]
}

const modifiedData = {
    id: data.id,
    numbers: data.numbers.join(','),
    alphabets: data.alphabets.join(',')
}
 

Ответ №2:

Вы можете использовать Object.entries , проверяя, является ли значение массивом и соединением , а затем преобразовать его обратно в объект, используя Object.fromEntries что-то вроде:

 const data = {
  "id": 1111,
  "numbers": [
    "00",
    "01",
    "02"
  ],
  "alphabets": [
    "a",
    "b",
    "c"
  ]
};

const result = Object.entries(data).map(([k, v]) => [k, Array.isArray(v) ? v.join() : v]);

console.log(Object.fromEntries(result));