ホームページ >バックエンド開発 >PHPチュートリアル >json_decode の後は空の json データが返されます
http://zhidao.baidu.com/link?url=kEYMQrLi41ZyC3Yo5XoN_QEbUentL2yVvcUg3seg_ZVksV2w5KBMudlQomrizXZiEoe3Uz0xtp7Moj9nRLBLNK
私が遭遇した問題は彼の
アプリのインターフェースに似ています、その後、PHP は json 文字列を受け入れて返します (検証後の形式は正しいです)。 : 返されたデータは次のとおりです 実際の文字は一致しません (さらに 3 文字)、
次に、php 側を json ヘッダーに変更しましたが、それでも機能しませんでした
アプリは次のメッセージを返しました:
string(121) "?{"errorCode" :"0","errorMsg":"成功","responseData":{"uid":"36","sender_uid":"37","error":"0","error_msg":"成功"} }"
json_decode ->NULL
ファイル内にコピーします:
string(118) "{"errorCode":"0","errorMsg":"success","responseData":{"uid":"36" ,"sender_uid":"37","error ":"0","error_msg":"success"}}"
BOMヘッダーの理由
の3つ余分な文字は BOM ヘッダーです。削除するだけです
たとえば、受信した文字は $s にあり、
$a = json_decode(substr($s, 3));
3 つの余分な文字は BOM ヘッダーです。それを削除します
たとえば、受け取ったものは $s にあります。 次に、
$a = json_decode(substr($s, 3));
明日会社に行って試してみます
余分な 3 文字はBOM ヘッダー、それを削除するだけです
例えば、受信したものが $s にある場合、
$a = json_decode(substr($s, 3));
Baidu プッシュを使用して、数時間探したことが判明しました。 Baidu のファイルに BOM ヘッダーがあることに気づきましたが、これは非常に苦痛でした。 ! !ありがとうございます
おそらく BOM ヘッダーのせいです
わかりました、ありがとう
JSON フォーマット ツール、JSON 検証ツール、http://www.sojson.com をお勧めします
広告なしで高速読み込みツール