2012-04-25 20 views
0

私は<sup id="1">内の二重引用符はそれを壊している...この人にjson_encode();を使用しています...誰もがなぜ説明できますか?このデータを自動的に保護するためにこの機能を構築しないでください。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 \"