2012-04-25 2 views
0

이 배열에 json_encode();을 사용하고 있습니다. <sup id="1"> 내의 큰 따옴표는 ... 그 이유를 설명 할 수 있습니까? 이 데이터를 자동으로 보호하기 위해이 기능을 구축해서는 안됩니까? json_encode() throwing invalid json

array(
    'Content' => array(
     'GUID' => '7dbbfdfd-d1b2-46bd-934f-0730bcf55495', 
     'Publish_Date' => '2012-04-10 19:28:13', 
     'Content_Type' => 'Header', 
     'Content_Body_Type' => 'OVERVIEW', 
     'Paperless' => 'REQUIRED_EDELIVERY', 
     'Status' => 'Proof', 
     'Body' => htmlentities('<h3>This is a subhead</h3> 
<p>This is sample content<sup id="1">1&nbsp;</sup>with variables:&nbsp;&lt;Outside_Sales&gt;&lt;Support_Services_Program&gt;</p> 
<p>Bulleted list:</p> 
<ul> 
<li>item 1</li> 
<li>item 2</li> 
<li>item 3</li> 
</ul> 
<p>more text</p>'), 

난 당신이 htmlentities() 다음 json_encode()을 사용하고 있기 때문에이 가능성이 이중 이스케이프 문제가 문제

+1

큰 따옴표를 이스케이프하면 어떻게됩니까? –

+0

전체 배열을 게시 할 수 있습니까 –

+0

"중단"이란 무엇입니까? 기형의 결과 json을 게시 할 수 있습니까? – Bergi

답변

3

를 결정하는 http://jsonlint.com을 사용했다.

그냥 json_encode()을 사용하십시오.

일반적으로 말하면 출력 중에 만 이스케이프하는 것이 가장 좋습니다. 그렇게하면 원시 데이터를 유지 관리 할 수 ​​있습니다.

0

에 의해을 벗겨야합니다. 모든 더블 쿼트 앞에 \를 추가하십시오. 예 : \ "1 \"