2015-11-04 176 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