2016-11-28 6 views
0

마지막 질문이 중복으로 표시되었으므로이 작업을 다시 수행해야합니다. 하지만 "중복"질문은 인코딩을하지 않고 파일에 추가하는 json 디코딩에 관한 질문이었습니다. 나는 또한 나의 질문에서 내가 시도한 것들을 언급했다. 그것은 일어난대로 '중복 된'것에 대한 받아 들여진 대답이었다.JSON.encode는 백 슬래시를 추가합니다.

사실 확인하지 않고 중복으로 표시하지 마십시오. 당신이이

"" 에 "따옴표"모든 것을 싸서 볼 수

"{\"1\":{\"title\":\"Sidemen: The Book\",\"ISBN\":\"1473648165\" 

:

좀 생성 된 JSON 데이터와 파일을 만들려고, 그 결과는 매우 비슷

또한 다음을 추가했습니다 : '\' 원하지 않습니다.

내가 현재 가지고있는 것입니다 :

$json = json_encode($BookList); 

난과 같이 PHP에서 파일을 만들 : 나는 시도

$fp = fopen($filename, 'w'); 
fwrite($fp, json_encode($json)); 
fclose($fp); 

:

$json = json_encode($BookList, JSON_UNESCAPED_SLASHES); 

과 :

$json = json_encode($BookList, JSON_UNESCAPED_SLASHES); 
$json_edited = stripslashes($json); 

하지만 아무 것도 작동하지 않는 것 같습니다.

아이디어가 있으십니까?

업데이트

도서 목록과 같이 생성됩니다

$BookList[++$id] = [ 
    'title' => (string) $item->ItemAttributes->Title, 
    'ISBN' => '' .(string) $item->ItemAttributes->ISBN 
]; 
+0

아마도 PHP가'var_export'에서 인용 부호를 이스케이프 처리 한 결과를 볼 수 있습니다. 실제 문자열 내용에는 슬래시가 없을 것입니다. – segFault

+0

로저 그 @ T.J.Crowder –

답변

5

당신은 두 번 json_encode를 통과, 예를 들어, 데이터를 두 번 인코딩입니다. 당신은

$json = json_encode($BookList, JSON_UNESCAPED_SLASHES); 
// -----^^^^^^^^^^^ 

또한

fwrite($fp, json_encode($json)); 
// ---------^^^^^^^^^^^ 

당신 만의 하나을 할 수 있습니다.

+0

전설, 그것을 고쳐. 고맙습니다. – JamesG

관련 문제