Я перемещаю данные с выхода функции python в php, а затем преобразовываю его в JSON и отправляю его в функцию javascript, которая вызывает его с помощью AJAX.Удаление дополнительных символов из строки с определенным шаблоном PHP
Формат должен выглядеть следующим образом:
{"data_name" : [1.02, 3.013, -24.12, 39], "data_name_2" : [-0.32151], "data_name_3" : [0.321, -21.42425, 225125.002]}
Сейчас питон возвращает данные через json.dumps
и выход рода странно, как только он достигает PHP. Так как данные уже JSon из Python, json_encode
не работает должным образом, но только вторя данные JSON производит это:
"[{\"data_name\" : [[1.02], [3.013], [-24.12], [39]]}, {\"data_name_2\" : -0.32151}, {\"data_name_3\" : [[0.321], [-21.42425], [225125.002]]}, null]"
Так как я могу сделать следующие вещи?
- Удалите первый
"[
с начала строки - Удалить все обратные слэши перед кавычками (так
\"data_name\"
становится"data_name"
) - Удалить
}, {
от каждого из полей (кроме первого) - Для 2D-массивов удалите внутренние символы
[]
, так что[[1.02], [2.02]]
станет[1.02, 2.02]
- Для одиночных номеров добавьте
[]
вокруг них, так-0.32151
становится[-0.32151]
- Наконец, когда я достигаю
}, null]"
, я хочу, чтобы удалить, null]"
и просто держать конец}
.
Я понимаю немного о strpos
, но я не знаю, как я могу включить, что с некоторой формой регулярных выражений, или если мне нужно вручную цикл через строку, чтобы заботиться о каждом из этапов. Если у кого-то есть идея, как начать, я был бы признателен.
Правильное исправление для «моих данных закодировано ненадлежащим образом» - это не клонирование при изменении кодированного текста, это либо исправление предварительного кодирования данных, либо пост-декодирование. – Sammitch
Попробуйте следующее: http://stackoverflow.com/a/8635181/3541922 – MikeVelazco
JSON является стандартом, вы должны иметь возможность читать на PHP или любом языке с поддержкой. Проверьте код с обеих сторон. – MikeVelazco