{"tx":"5204759","status":"SUCCESS","date":"04.07.2017","time":"21:53:27","cash":"7 210,00руб.","orig":"7 000,00руб.","provider":"WebmoneyОАОБанк"ККБ"","opnum":"R14702331","comment":""}
Как видите в provider имя банка в кавычках и из-за этого рушится JSON Как быть?а) Оптимально - Попросить того, кто писал удалённый сервис - исправить столь явный баг кодирования в JSON и намекнуть ему, что если он сам не может сделать нормально - пусть воспользуется готовыми библиотеками.
$json_string = str_replace ('""', '\"\"', $json_string)
$json = htmlspecialchars_decode($json);
$json = str_replace(' "', ' ', $json);
$json = str_replace('""', '"', $json);
function no_json_decode($encoded) {
$decoded = [];
foreach (explode('","', trim($encoded, '{}')) as $element) {
list($key, $value) = explode(':', $element);
$decoded[trim($key, '"')] = trim($value, '"');
}
return $decoded;
}
Array
(
[tx] => 5204759
[status] => SUCCESS
[date] => 04.07.2017
[time] => 21
[cash] => 7 210,00руб.
[orig] => 7 000,00руб.
[provider] => WebmoneyОАОБанк"ККБ
[opnum] => R14702331
[comment] =>
)