У меня есть проблема с моим JSON. Это работает возвраты правильно в PHP 5.3 (таким образом, я не могу использовать json_last_error ()), и это возвращается успешно, когда я копирую строку явно в json_decode (json_decode (' {...} '). Это только возвращает пустой указатель в том, когда я передаю результат как переменную, и я использую php 5.2, который является тем, для чего я нуждаюсь в нем.
Вывод прибывает из JSON, входящего в систему PHPUnit:
[
{
"event": "suiteStart",
"suite": "",
"tests": 2
},
{
"event": "suiteStart",
"suite": "TagTestCase",
"tests": 2
},
{
"event": "test",
"suite": "TagTestCase",
"test": "TagTestCase::test_it",
"status": "fail",
"time": 0.00248718261719,
"trace": [
{
"file": "\/UnitTest\/PHPUnit.php",
"line": 98,
"function": "run",
"class": "PHPUnit_Framework_TestSuite",
"type": "->",
"args": [
{
}
]
},
{
"file": "\/UnitTest\/PHPUnit.php",
"line": 116,
"function": "run",
"class": "PHPUnit",
"type": "->",
"args": [
]
},
{
"file": "\/UnitTest\/PHPUnit.php",
"line": 212,
"function": "__tostring",
"class": "PHPUnit",
"type": "->",
"args": [
]
}
],
"message": "false assertionzzzzz.\nFailed asserting that <boolean:false> is true."
},
{
"event": "test",
"suite": "TagTestCase",
"test": "TagTestCase::test_two",
"status": "pass",
"time": 0.00182914733887,
"trace": [
],
"message": ""
}
]
Править: Это пути, я исследовал - возможно, Вы - лучший проводник.. Три возможных пути, которые могли помочь:
Любая справка значительно(!) ценилась бы.
Спасибо! Матовый
Что за УЖАСНЫЙ сеанс отладки ... ну, хорошие новости ... Я понял ...
Я начал смотреть на него с помощью AJAX и регистрировать его с помощью Firebug ... и оказалось, что json_decode (или eval по способ) не может обрабатывать "
, что PHPUnit отправляет обратно (Давай, Себастьян!), чтобы исправить это:
$json = str_replace('"', '"', $json);
Теперь я подумал, что они такие же ... может быть, кто-то просветит меня ..
Когда я использую:
phpunit --log-json file.json <test_file>
(с использованием PHPUnit 3.4.13), создается впечатление, что файл, который он создает, не содержит действительного JSON,
файл json содержит «json», который выглядит примерно так:
{...}{...}{...}{...}
Вместо этого из того, что я ожидал увидеть:
[{...},{...},{...},{...}]
Не уверен, что это та же проблема, которую вы видите, ваш пример вывода JSON в вопросе кажется более достоверным, чем то, что я вижу.
После добавления недостающих запятых и скобок их можно проанализировать с помощью json_decode () в PHP 5.2.10 или PHP 5.3.2.
попробуйте установить отчеты об ошибках в ALL, json_decode() должен дать вам уведомление в смещении, где преобразование не удается.