Не могу прочитать файл JSON в PHP

1

У меня есть 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']);


?>
  • 0
    json_last_error_msg чтобы получить строку, говорящую о том, какие были фактические ошибки. Я подозреваю, потому что utf8_decode дает вам JSON_ERROR_SYNTAX , это значение "Ãœrümqi" может вызывать проблему
  • 0
    Я попробовал этот код на своем Mac, и у меня не было проблем с ним. Однако синтаксис для print_r это print_r ($ json-> China); ,
Показать ещё 1 комментарий
Теги:

1 ответ

0
Лучший ответ

У меня такая же проблема, когда я использую utf8 с bom. Самый простой способ - удалить его, например, следующим образом: function

  • 0
    это сработало, но мне пришлось изменить файл .json на txt, спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню