php json_decode null

WBOY
リリース: 2016-06-23 14:35:56
オリジナル
1392 人が閲覧しました

-----インターネット上--------------

http://webhole.net/2009/08/31/how-to-read-json-data - with-php/ 最終的な解決策は、2012 年 5 月 31 日の 0:38:42 に更新されました

PHP で JSON を解析する方法

-----インターネットで見つかりました---------- -

インターネットでたくさん見つけた例が json_encode でした。私が遭遇した状況を書き留めておきます。

[最初の状況] 理由の 1 つは、json_decode の後に何もありません。 json_decode のみがサポートされています utf-8.

iconv('gbk','utf-8', $result_string)、iconv 関数を使用してエンコード形式を変更します。私の場合、それは gbk..utf に変換します。 8.

【その2 この場合】 Array オブジェクトは print_r を使用する必要があり、echo は使用できません。

【3つ目のケース】 後で文字化けします 私の場合はこんな感じです

header("Content-Type: text/html; charset=UTF-8");

php ただ基本的な知識がなく、あまり時間がありません

【その他の状況】

http://php.net/manual/en/function.json-decode で。 php (これは、インターネットからダウンロードした php マニュアル chm には書かれていません。言葉を失いました...) こう書かれています:

例 #3 json_decode() を使用した一般的な間違い 誰もがよく犯す間違い...他のいくつかの例も見てください...


// 次の文字列は有効な JavaScript ですが、有効な JSON ではありません

// 名前と値は二重引用符で囲む必要があります 1. これは次のようになります一重引用符は使用しないでください。正解は $bad_json = '{ "bar": "baz" }' です
// 一重引用符は無効です
$bad_json = "{ 'bar': 'baz' }"; json_decode ($bad_json); // null

// 名前は二重引用符で囲む必要があります。 2. これは、正しい名前は $bad_json = '{ "bar" である必要があることを意味します。 " baz" }'; これだけで数時間を無駄にしてしまいました... 時間がかかりました...
$bad_json = '{ bar: "baz" }'; // null

// 末尾のカンマは許可されません。 3. これは、最後のものにはカンマが必要ないことを意味します。 null

?> ;



json_encode() を使用して中国語を含むコンテンツをエンコードすると、u5c71u4e1c のようなコードが表示されますが、jQuery または json_decode() を使用してデコードする場合は問題ありません。場合によっては、中国語をそのまま表示する必要がある場合もあります。

$code = json_encode( $str );

$code = preg_replace( "#\u([0-9a-f]+)#ie" , "iconv('UCS-2 ', 'UTF-8', Pack('H4', '\1'))" , $code );

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート