У меня есть json файл, который я хочу прочитать, но функция json_decode в php всегда возвращает ошибку, ошибка - номер 5 в utf8, я использую функцию utf8_decode и повторю попытку, она дает ошибку номер 4 в ошибке syntex, но хотя я проверяю ее jsonint валидатор вы можете мне помочь? вот 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']);
?>
У меня такая же проблема, когда я использую utf8 с bom. Самый простой способ - удалить его, например, следующим образом: function
json_last_error_msg
чтобы получить строку, говорящую о том, какие были фактические ошибки. Я подозреваю, потому чтоutf8_decode
дает вамJSON_ERROR_SYNTAX
, это значение "Ãœrümqi" может вызывать проблему