<?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']; ?>
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 ヘッダーを削除して見てください
./js/recommendMenu と同じになります。 .json 接続の形式で開いて見てみましょう。
これは 1 階で述べた問題です、私が使用したエンコーディングが間違っています
熱心なご回答ありがとうございます。