ホームページ >バックエンド開発 >PHPチュートリアル >PHP は json ファイルを読み取り、解析します

PHP は json ファイルを読み取り、解析します

WBOY
WBOYオリジナル
2016-06-23 13:58:381158ブラウズ

 <?php      $filename = "./js/recommendMenu.json";	 $json_string = file_get_contents($filename);	 echo print_r($json_string,true);            //打印文件的内容	 echo "<br>";	 	 $json2_string='{  "tsnpm":{    "name":"#特色牛排面#",	"score":"(4.7分)",	"price":"¥9.0",	"description":"较劲十足,微辣畅爽。"  },  "mnnrm":{    "name":"#:闽南牛肉面#",	"score":"(4.8分)",	"price":"¥8.5",	"description":"爽滑可口,回味无穷。"  },  "hxncm":{    "name":"#红烧牛杂面#",	"score":"(4.8分)",	"price":"¥8.0",	"description":"清香诱人,五味杂成!"  },  "gwcsgjf":{    "name":"#广味叉烧盖浇饭#",	"score":"(4.7分)",	"price":"¥8.5",	"description":"滋补,养胃、美味、有劲"  },   "xhscd":{    "name":"#西红柿炒蛋#",	"score":"(4.8分)",	"price":"¥2.0",	"description":"口味怡人,物美价廉!"  }}';	 $obj=json_decode($json2_string,true);	 if (!is_array($obj)) die('no successful');	 print_r($obj);     echo '<br>'.$obj['tsnpm']['name'];	?>

$json2_string 文字列を解析すると、正常に解析できますが、ファイルから取得した文字列 $json_string を解析すると、解析できません。専門家はこの問題をどのように解決すればよいでしょうか。


ディスカッションに返信 (解決策)

json ファイルは BOM ヘッダーを持つ UTF-8 形式ですか? BOM ヘッダーを削除して見てください

$json2_string のスクリーンショットはどれですか? 個別に投稿してください。

./js/recommendMenu.json リンクとして開いて確認できますか?

echo print_r($json_string,true);
読み取った文字列を出力するだけです

コード内に json_decode($json_string) という単語が見つからない場合、それが解析できないことはどうやってわかりますか?

$obj=json_decode($json2_string,true);
if (!is_array($obj)) die('成功しません');

何かヒントはありますか?

json ファイルは BOM ヘッダーを持つ UTF-8 形式ですか? BOM ヘッダーを削除して見てください


1 階が正しいです。私のエンコーディングは BOM ヘッダーの utf-8 形式です。これを削除すると、文字列

./js/recommendMenu と同じになります。 .json 接続の形式で開いて見てみましょう。


一部は 39 行目にあります

これは 1 階で述べた問題です、私が使用したエンコーディングが間違っています

熱心なご回答ありがとうございます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。