Заменить двойные кавычки в json_encode

На данный момент существует строка json_encode:

["55.763775,37.526462","55.773034,55.773034","55.743776,37.678128"]

Как можно заменить двойные кавычки " с обеих сторон чтобы они имели вид

[[55.763775,37.526462],[55.773034,55.77303],[55.743776,37.678128]]

С помощью JS или того же PHP


Ответы (2 шт):

Автор решения: vsemozhebuty

На JS можно так:

const str1 = '["55.763775,37.526462","55.773034,55.773034","55.743776,37.678128"]';
const str2 = str1.replace(/"(?=\d)/g, '[').replace(/(?<=\d)"/g, ']');
console.log(str2);

Или так:

const str1 = '["55.763775,37.526462","55.773034,55.773034","55.743776,37.678128"]';
const str2 = str1.replace(/"([\d.,]+)"/g, '[$1]');
console.log(str2);

Но на тот случай, если вам нужно получить двумерный массив чисел из JSON, можно сразу так:

const str1 = '["55.763775,37.526462","55.773034,55.773034","55.743776,37.678128"]';
const array = JSON.parse(str1).map(str => str.split(',').map(Number));
console.log(array);

→ Ссылка
Автор решения: Aziz Umarov

Или как то так

const arr1 =
  ["55.763775,37.526462","55.773034,55.773034","55.743776,37.678128"];
const arr2 = arr1.map(item => [+item.split(',')[0],+item.split(',')[1]]);
console.log(arr2);

→ Ссылка