<?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('no successful');
有提示?
你的json 文件是带有BOM头的UTF-8格式吧?去掉BOM头看下
一楼说的对,我的编码是BOM头的utf-8格式,去掉了就和字符串的一样
EasySitePM Enterprise3.5系统是一款适用于不同类型企业使用的网站管理平于,它具有多语言、繁简从内核转换、SEO搜索优化、图片自定生成、用户自定界面、可视化订单管理系统、可视化邮件设置、模板管理、数据缓存+图片缓存+文件缓存三重提高访问速度、百万级数据快速读取测试、基于PHP+MYSQL系统开发,功能包括:产品管理、文章管理、订单处理、单页信息、会员管理、留言管理、论坛、模板管
./js/recommendMenu.json 用连接的形式打开看看行不行?
有的 在第39行
就是一楼所说的问题 我用的编码不对,谢谢大家热心的回复










