"; $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 '
'.$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('no successful');
有提示?
你的json 檔案是帶有BOM頭的UTF-8格式吧?去掉BOM頭看下
一樓說的對,我的編碼是BOM頭的utf-8格式,去掉了就和字串的一樣
./js/recommendMenu.json 用串連的形式開啟看看行不行?
有的 在第39行
就是一樓所說的問題 我用的編碼不對,謝謝大家熱心的回複