Невозможно декодировать строку JSON в php

У меня есть следующая строка JSON, я пытаюсь декодировать с помощью php json_decode, но $ postarray всегда имеет значение NULL, не может понять, почему это так?

Запуск на версию Debian 5.0 для Linux php Client версии => 5.0.51a Json версия 1.2.1

$json = '{\"json\":[{\"username\":\"1062576\",\"accountId\":\"45656565\"}]}'; $postarray = json_decode($json); print_r($postarray); 

благодаря

Причиной избежать двойных кавычек ( \" ) в строке является то, что строка содержит двойные кавычки.

Поскольку вы избегаете двойных кавычек, вы должны удвоить (не одиночные) цитаты вашей строки, например:

 <?php $json = "{\"json\":[{\"username\":\"1062576\",\"accountId\":\"45656565\"}]}"; $postarray = json_decode($json); print_r($postarray); ?> 

Живой пример

Если вам нужна одиночная цитата вашей строки, то не избегайте двойных кавычек или используйте stripslashes (), как предложил Андрей.

Вы можете прочитать о четырех способах указать строку в PHP и различия между ними .

Попробуй это:

 <?php $json = stripslashes('{\"json\":[{\"username\":\"1062576\",\"accountId\":\"45656565\"}]}'); $postarray = json_decode($json); print_r($postarray); 

Вы должны заключить его в двойные кавычки.

Строка не будет анализироваться, потому что она заключена в одинарные кавычки, поэтому обратные косые черты являются буквальными. Если вы удалите их, используйте stripslashes или приложите строку в двойные кавычки, у вас не должно быть проблем.