Заменить двойные кавычки в 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);