Задать вопрос
@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__Бот__ поможет вам попасть в число тех

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

Спасибо за внимание.
  • Вопрос задан
  • 1393 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
к json_encode эта проблема никакого отношения не имеет.
где-то добавляется дополнительное экранирование.
надо найти тот говнокод, который его добавляет, и убрать

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

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

Похожие вопросы