Какую опцию использовать для json_encode, чтобы он не экранировал слеш?

Получаю данные POST, преобразую в объект php, а затем конвертирую обратно в json-формат.
При конвертировании получаю: "site": "https:\/\/site.ru\/"
вместо: "site": "https://site.ru/"
Если полученные данные POST просто записать в файл, то такого эффекта нет.

<?php

// Проверка, что ключ в запросе существует и он не пустой
if (isset($_POST['json']) && $_POST['json'] != '') {

	// Открываем json с данными на сервере
	$json_current = file_get_contents('./data.original.json');

	// Получаем данные через ajax (POST-запрос)
	$json_new = $_POST['json'];


  // json превращаем в объект php
  $obj_new = json_decode($json_new);
  $obj_current = json_decode($json_current);

  // В объекте ищем id = 6, и для ключа rates обносляем значение на полученные данные POST
  foreach($obj_current as $data)
    if ( $data -> id == 6 ) $data -> rates = $obj_new;

  $json_new = json_encode($obj_current, JSON_UNESCAPED_UNICODE);

  file_put_contents('./data.json', $json_new);

	// Отправка ответа с сервера в формате json
	header('Content-type: application/json');
	echo json_encode( 'Data update' );

}

?>
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
JSON_UNESCAPED_SLASHES
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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