У меня огромный кусок, такой большой, что я не могу вручную отредактировать файл, и мне нужно прочитать его и выполнить операции регулярного выражения, чтобы увидеть, что не так.
В основном - мой сервер - PHP 5.1.6и я не могу обновить его.Это более старая версия json_decode
, которая менее функциональна, чем версии 5.2 / 5.3.
json_decode
возвращает значение NULL и json_last_error
вызывается, но функция не существует, за исключением PHP 5.3, поэтому я 'м вручную, пытаясь понять, что не так.
$regex = '#[^0-9"$a-zA-Z{:}().]#';
$json = preg_replace( $regex, '', $json );
$tree = json_decode ( $json, true );
var_dump($tree); // NULL
Фрагмент JSON .. где-то в середине
{"109": 0, "103": 1,"102": 59, "101": 70, "100": 4299, "94": 0, "50": 51, "46": 0, "45": 0, "44": 0, "43": 0," 42 ": 0," 23 ": 0," 22 ": 0," 18 ": 0," 17 ": 1," 16 ": 1," 13 ": 160," 8" :4298}}, "2": { "d": { "109": 0, "103": 92, "102": 54, "101": 53, "100": 4301, "94": 0,"50": 4278, "49": 328, "46": 1, "45": 0, "44": 1, "43": 0, "42": 0, "26": 0, "23": 0," 22 ": 0," 18 ": 0," 17 ": 1," 16 ": 1," 8 ": 4300}," м ": {" 94 ": 1," 100" :1, "26": 1, "50": 1, "8": 1, "49": 1, "18": 1, "43": 1, "42": 1, "109": 1}, "с": { "/": { "d": { "109": 0, "100": 4301, "94": 0, "50": 4278, "49": 328, "43":0, "42": 0, "26": 0, "18": 0, "8": 4300}}, "G": { "d": { "109": 1, "100": 4303,"94": 1, "68": 17, "50": 64, "49": 53, "43": 1, "42": 1, "34": 0, "18": 1, "13": 2216," 11 ": 0," 8 ": 4302}}}}," 3 ":
}}}}
является подозрительным, но это, вероятно,просто закрывает 4 литерала вложенных объектов.
Буду признателен за любые идеи.