2010-12-05 8 views
1

php組み込みjsonデコーダがこれらの特殊文字をエスケープして理解する方法と、これらの文字は何ですか?PHP Jsonデコーダが&またはéまたは特殊文字を含む場合はNULLを返します

例:(だけは引用符のために働く)json_decode('{"text":"test & test"}',true);

戻り

NULLは、私はそれを逃れるために\を使用しようとするが、それは動作しません。

+1

JSONは問題ありません。 "、' '、' \ '、および制御文字を除いてJSON文字列内にUnicode文字があれば許されます。 – Gumbo

+1

[私のための作品](http://pastie.org/1350172)実際のPHPコードはどのように見えますか? – Matchu

+2

['json_decode'](http://php.net/json_decode)は、入力がUTF-8でエンコードされることを期待しています。 – Gumbo

答えて

0

それは普通の&を使って動作するはずです。しかし、私は過去にいくつかの特殊文字を認識しなかった刺しゅうで問題を抱えていました。その場合の解決策は、 phpファイルのドキュメントエンコーディングはutf8に設定されていました。もう一つ、私が過去に持っていた問題のXMLReaderの魔女が無地シンプル&が、&を受け入れなかったとあなたは次のことを試みることができるように、だけではなく、正常に動作しました:

json_decode(preg_replace('/&/','&','{"text":"test & test"}')); 

P.S.私はあなたが大きなjson文字列を解読しようとしているので、問題は文字列の別の部分から来るかもしれないと思います。質問に投稿した正確なテストを実行しましたか?

関連する問題