Удалить двойные кавычки после косой черты в json_encode ()

Я получаю информацию из базы данных и создаю json для загрузки пользователем. Но есть проблема с JSON скачать
Мой код в CakePHP

        $response = json_encode($result,JSON_UNESCAPED_SLASHES);
header('Content-Type: application/json');
$this->viewBuilder()->className('Json');
$this->response->download('export-' . date('YmdHis') . '.' . "json");
$this->set('_jsonOptions', JSON_PRETTY_PRINT);
$this->set(compact('response'));
$this->set('_serialize', "response");

Ожидаемое:

{ «Версия»: «1.0», «название»: «Тест», «значение»: «абв123»}

Результат

{\ «Версия \»: \ «1,0 \», \ «Имя \»: \ «тест \», \ «значение \»: \ «абв123 \»}

-1

Решение

попробуйте это с параметром JSON_FORCE_OBJECT

<?php
$fruits = array('apple', 'orange', 'banana', 'strawberry'); // fruits table
echo json_encode($fruits, JSON_FORCE_OBJECT);
// {"0":"apple","1":"orange","2":"banana","3":"strawberry"}
?>
0

Другие решения

Для тех, кто использует CakePHP 2.x, я столкнулся с этой проблемой. Вот как я это решил.

function blah1()
{
$data = ['path' => '/i/have/no/escaped/slashes'];
$this->set('_jsonOptions', JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
$this->set([ '_serialize' => 'data', 'data' => $data]) ;
}

Выход:

{
"path":"/i/have/no/escaped/slashes"}

Избежавшие косые черты

function blah2()
{
$data = ['path' => '/i/have/escaped/slashes'];
$this->set([ '_serialize' => 'data', 'data' => $data]) ;
}

Выход:

{"path":"\/i\/have\/escaped\/slashes"}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector