За последние 24 часа нас посетили 17849 программистов и 1645 роботов. Сейчас ищет 1641 программист ...

Строка JSON со знаками табуляции

Тема в разделе "PHP для новичков", создана пользователем GutsOut, 8 май 2014.

  1. GutsOut

    GutsOut Новичок

    С нами с:
    20 ноя 2013
    Сообщения:
    22
    Симпатии:
    0
    [/code]Здравствуйте, после этого
    Код (Text):
    1. var_dump(json_encode(file_get_contents('data/events/1.json')));
    получаем такое
    Код (Text):
    1. string '"{\r\n\t\"id\": 1,\r\n\t\"date\": \"2014-05-07T12:00:00\",\r\n\t\"title\": \"\u0422\u0435\u0445\u043d...
    Я так понимаю эту строку теперь самому регулярками надо вычищать от знаков табуляции? Нельзя ли как-нибудь сразу вытащить содержимое json-файла без знаков табуляции?
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Можно не регулярками. Можно тримом. Можно стрреплейсом. Можно на клиенте триммить, ЕМНИП.
     
  3. GutsOut

    GutsOut Новичок

    С нами с:
    20 ноя 2013
    Сообщения:
    22
    Симпатии:
    0
    Я понимаю что можно чем угодно, меня больше волнует второй вопрос
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Оберни в трим, блин, или в стрреплейс :)
     
  5. GutsOut

    GutsOut Новичок

    С нами с:
    20 ноя 2013
    Сообщения:
    22
    Симпатии:
    0
    Понятно, спасибо
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    для начала стоит задать вопрос откуда они там вообще
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Вангую, что отступы, потому что JSON там был красиво отформатирован по какой-то причине, причем отформатирован по контенту, а не по структуре.
     
  8. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я чета сомневаюсь, что они вот так просто в экранированные спецсимволы сами перековались.
     
  10. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Если взять такую строку текста (в примере автора берётся из файла)
    Код (Text):
    1. {
    2.     "id": 1,
    3.     "date": "2014-05-07T12:00:00",
    4.     "title": "\u0422\u0435\u0445"
    5. }
    то есть без экранирования спец. символов, а с самими спец. символами и прогнать её через json_encode - то все спец. символы превратятся во всякие там \r\n, \t и т.п. Функция json_encode() делает это с ними.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    хмм... ща загуглю решение.
     
  12. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    В примере автора в первом сообщении вообще происходит какой-то бред. У него и так в файлике json, он его зачем-то ещё раз в json закатывает. И получает на выходе объект состоящий из одного элемента, в котором его оригинальный json-объект в кавычках в виде текста.
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    так. я всё понял. =)

    Строка начинается с кавычки. Это не то, что мы думаем. Это просто строка. json_encode считает, что мы хотим закодить в json эту просто строку.

    Т.е. как бы надо сразу понять =) я не понял. Не надо кодировать в json то, что уже и так в json! ◔ ⌣ ◔

    Добавлено спустя 23 секунды:
    да! =)