[/code]Здравствуйте, после этого Код (Text): var_dump(json_encode(file_get_contents('data/events/1.json'))); получаем такое Код (Text): string '"{\r\n\t\"id\": 1,\r\n\t\"date\": \"2014-05-07T12:00:00\",\r\n\t\"title\": \"\u0422\u0435\u0445\u043d... Я так понимаю эту строку теперь самому регулярками надо вычищать от знаков табуляции? Нельзя ли как-нибудь сразу вытащить содержимое json-файла без знаков табуляции?
Вангую, что отступы, потому что JSON там был красиво отформатирован по какой-то причине, причем отформатирован по контенту, а не по структуре.
можно сперва decode, потом encode - отступы и прочие пробелы исчезнут Код (PHP): var_dump(json_encode(json_decode(file_get_contents('data/events/1.json'))));
Если взять такую строку текста (в примере автора берётся из файла) Код (Text): { "id": 1, "date": "2014-05-07T12:00:00", "title": "\u0422\u0435\u0445" } то есть без экранирования спец. символов, а с самими спец. символами и прогнать её через json_encode - то все спец. символы превратятся во всякие там \r\n, \t и т.п. Функция json_encode() делает это с ними.
В примере автора в первом сообщении вообще происходит какой-то бред. У него и так в файлике json, он его зачем-то ещё раз в json закатывает. И получает на выходе объект состоящий из одного элемента, в котором его оригинальный json-объект в кавычках в виде текста.
так. я всё понял. =) Строка начинается с кавычки. Это не то, что мы думаем. Это просто строка. json_encode считает, что мы хотим закодить в json эту просто строку. Т.е. как бы надо сразу понять =) я не понял. Не надо кодировать в json то, что уже и так в json! ◔ ⌣ ◔ Добавлено спустя 23 секунды: да! =)