2015-11-04 180 views
1

我有一个json文件,我想读取,但PHP中的json_decode函数总是返回错误错误是数字5 utf8一个我使用utf8_decode函数,并再次尝试它给出了错误号码4 syntex错误之一,但虽然我检查了jsonint验证程序,你可以帮我吗? 这里是JSON:无法读取php中的Json文件

{ 
    "China": [ 
     "Guangzhou", 
     "Fuzhou", 
     "Beijing", 
     "Baotou", 
     "Hohhot", 
     "Guiyang", 
     "Yinchuan", 
     "Nanjing", 
     "Changzhou", 
     "Chuzhou", 
     "Hefei", 
     "Jinan", 
     "Qingdao", 
     "Harbin", 
     "Zhaodong", 
     "Taiyuan", 
     "Xi'an", 
     "Xianyang", 
     "Shenzhen", 
     "Nanning", 
     "Zhengzhou", 
     "Xinxiang", 
     "Luohe", 
     "Luoyang", 
     "Chaoyang", 
     "Xingyi", 
     "Foshan", 
     "Haikou", 
     "Chengdu", 
     "Dongguan", 
     "Mingzhou", 
     "Chongqing", 
     "Zhuhai", 
     "Kunming", 
     "Wuhan", 
     "Xiling", 
     "Huizhou", 
     "Jiangmen", 
     "Shantou", 
     "Changxiacun", 
     "Zhongshan", 
     "Lhasa", 
     "Nanchang", 
     "Tianjin", 
     "Shanghai", 
     "Hebei", 
     "Shijiazhuang", 
     "Quanzhou", 
     "Putian", 
     "Xiamen", 
     "Chengyang", 
     "Zhangzhou", 
     "Sanming", 
     "Nanping", 
     "Baoding", 
     "Langfang", 
     "Yantai", 
     "Binzhou", 
     "Lanzhou", 
     "Yueqing", 
     "Zhongxin", 
     "Zhoushan", 
     "Hangzhou", 
     "Ningbo", 
     "Wenzhou", 
     "Changchun", 
     "Fuyang", 
     "Jieshou", 
     "Anqing", 
     "Wuhu", 
     "Shishi", 
     "Shishi", 
     "Weitang", 
     "Shenyang", 
     "Changsha", 
     "Yongjiawan", 
     "Lengshuijiang", 
     "Shijiazhuang", 
     "Xuchang", 
     "Suzhou", 
     "Xuzhou", 
     "Taizhou", 
     "Nanyang", 
     "Xinhua", 
     "Ürümqi", 
     "Yan'an Beilu", 
     "Baotao", 
     "Macao", 
     "Wuxi", 
     "Yangzhou", 
     "Baiyin", 
     "Tongren", 
     "Kunshan", 
     "Zhangjiagang" 
    ] 
} 

这里是PHP代码:

<?php 

$str=file_get_contents("countriesToCities.json"); 
$json =json_decode($str,true); 
print_r($json['China']); 


?> 
+0

'json_last_error_msg'获取一个字符串,说明实际的错误是什么。我怀疑,因为'utf8_decode'给你一个'JSON_ERROR_SYNTAX',这个值_“ôrümqi”_可能会导致问题 –

+0

我在我的Mac上试过这段代码,并且我没有问题。然而print_r的语法是print_r($ json-> China); 。 – Jimmy

+0

它可以是一个操作系统的依赖?!加上有两个未知的字符在文件的开头 – mohamed

回答

0

我,当我使用UTF8与BOM有同样的问题。最简单的方法是将其删除,例如:function

+0

它的工作,但我不得不改变.json文件到TXT文件谢谢 – mohamed