-1
我從數據庫中獲取信息並創建一個json供用戶下載。但有使用JSON問題下載 我的代碼在CakePHP中刪除json_encode()中的斜槓後的雙引號
$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」, 「名」: 「測試」, 「值」: 「ABC123」 }
結果
{\ 「版本\」:\ 「1.0 \」,\ 「名稱\」:\ 「測試\」,\ 「值\」:\ 「ABC123 \」 }
已經參照本:https://stackoverflow.com/questions/8837659/remove-double-quotes-from-a-json-encoded-string-on- the-keys?rq = 1但可能不符合要求 –
您確定'$ result'是一個數組嗎? var_dump($ result);'給了你什麼? – jeroen
我不是一個蛋糕用戶,但粗略的谷歌(並只是看你的代碼)建議Cake內部使用json_encode,所以只需傳遞未編碼的數據:'$ this-> set(['response'=> $ result]); ' – Steve