Задать вопрос
@DmitryLife

Как убрать экранирование из JSON?

Добрый день. Делаю перевод для чат бота.
Сохраняю все тексты в json формате.
file_put_contents('data/rus.json',json_encode($rus,JSON_UNESCAPED_UNICODE));


Столкнулся с проблемой экранирования переносов строк - \n. Получаю итог примерно такой:
{"text":"*Добро пожаловать в Bot.* \\n\\n__Бот__ поможет вам попасть в число тех, кто получит преимущества как участник Forsage.\\nА так же вовремя предоставит необходимую информацию."} (*кусок JSON)

Теперь, когда вывожу в боте, \\n преобразуется в \n

Как вариант решил использовать:
$json= str_replace('\\n', ' \n', $json);

Но возвращается такой результат: \ \n\ \n__Бот__ поможет вам попасть в число тех

Не совсем понятно, как решить эту проблему.
Вижу еще решение, сохранять отдельно каждую строку, а на этапе вывода конкатенировать. Но как будт-то сложное решение.

Спасибо за внимание.
  • Вопрос задан
  • 1764 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
к json_encode эта проблема никакого отношения не имеет.
где-то добавляется дополнительное экранирование.
надо найти тот говнокод, который его добавляет, и убрать

и заодно научиться проверять свой код перед тем как писать вопрос на тостер
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽