Я вытащил JSON из Instagram:
$instagrams = json_decode($response)->data;
Затем анализируем переменные в массиве PHP для реструктуризации данных, затем перекодируем и кэшируем файл:
file_put_contents($cache,json_encode($results));
Когда я открываю файл кэша, все мои косые черты "/" экранируются:
http:\/\/distilleryimage4.instagram.com\/410e7...
Я получаю из моих поисков, что json_encode()
автоматически делает это ... есть ли способ отключить это?
Ответы:
Да, вам нужно только использовать
JSON_UNESCAPED_SLASHES
флаг.Если у вас нет PHP 5.4 под рукой, выберите одну из множества существующих функций и измените их в соответствии со своими потребностями, например, http://snippets.dzone.com/posts/show/7487 (архивная копия) .
Пример Демо
Пример вывода:
источник
strip_slashes
и для JS phpjs.org/functions/stripslashes\/
допустимой escape-последовательностью для/
) см. также stackoverflow.com/a/10210367/367456 .JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES
должен быть по умолчанию, нет (странно) вариант ... Как сказать это PHP-разработчиков?Да , но не надо - избегать слешей - это хорошо . При использовании JSON внутри
<script>
тегов необходимо как</script>
угодно - даже внутри строки - заканчивать тег скрипта.В зависимости от того, где используется JSON, это необязательно, но его можно смело игнорировать.
источник
"\/"
в точности совпадает со строковым значением"/"
- и работающий анализатор JSON будет рассматривать его как таковой. То же правило применяется к строкам javascript, поэтому подача JSON как кода javascript также не будет иметь проблем. Я удивлен, что у PHP даже естьJSON_UNESCAPED_SLASHES
флаг.С другой стороны, у меня была проблема с PHPUNIT, утверждая, что URL-адреса содержались в URL-адресе json_encoded или равнялись ему -
мой ожидаемый:
http://localhost/api/v1/admin/logs/testLog.log
будет закодирован в:
http:\/\/localhost\/api\/v1\/admin\/logs\/testLog.log
Если вам нужно сделать сравнение, преобразуйте URL с помощью:
addcslashes($url, '/')
разрешено для правильного вывода во время моих сравнений.
источник
Мне пришлось столкнуться с ситуацией как таковой, и просто,
работал на меня.
источник
Вам не нужно убегать от косой черты! HTML5 и JS позволяют использовать как кавычки, так и кавычки. Поэтому в JSON я набираю:
В качестве рабочего примера см. Веб-сайт ev.bingo: «v4»: [«Audi e-tron Q4 Sportback полностью использует модульную электрическую силовую платформу MEPP, которая является общей для Volkswagen Group»],
источник