2011-02-03 5 views
2

からこの\のU0000を取り除くしようとするとこれは私の$varjson_encodeからです:見つけて、私のJSON

ために
echo json_encode(str_replace ("\\u0000", "", $var)); 

を取り除くために:私はこれやりたい

{ 
"key1":"\u0000data1", 
"key2":"\u0000data2", 
"key3":"\u0000data3", 
"key4":"\u0000data4 
} 

前述の\u0000が表示されていますが、上の行はそれを削除するためには機能しません。

答えて

7

あなたは、ラウンド関数に他の方法を適用する必要があります:$のvarは配列であるため、

echo str_replace('\\u0000', '', json_encode($var)); 

はこれがあります。すべてのエントリを繰り返し処理し、そうでなければ\0バイトを探す必要があります。

+0

ありがとうございます。あなたの答えは完璧に働きます! – cube

0

私は似たようなものに遭遇しました。

This question & answer私は問題のルート原因を理解するのに役立ちました。

私のクラスプロパティ(ご質問のkeynに相当)が実際にprotectedである必要はないことを認識してこれを克服しました。それらを作ってpublic私は問題を全面的に踏んだ。

これはベストプラクティスか、あなたのプロジェクトに適しているかどうかを決定するのはあなた次第です。

関連する問題