我正在做一个需要从服务器加载JSON文件的Web应用程序,当我尝试解析该文件时遇到Unexpected Token
错误。然后我发现当两个项目出现在一个文件中时会发生问题
以下是两个JSON项目:
{
"黄南":{"id":10973,"name":"黄南","prov":"青海","latt":35.519549,"logi":102.015248},
"海北":{"id":10970,"name":"海北","prov":"青海","latt":36.954413,"logi":100.900998}
}
我在chrome控制台中尝试了JSON.parse
,在python和JSONlint.com中尝试了json.loads
,它们都会引发错误。
有趣的是,当我尝试单独加载它们时,没有错误,但只要它们被加载在一起,就会抛出错误
那么有谁能告诉我发生了什么以及如何避免这种情况? 谢谢大家,如果我的描述中有任何语法问题,请对不起。
答案 0 :(得分:0)
这是没有更多信息的猜测,但我猜测没有设置编码的python 2.x,因为除此之外没有其他原因。
尝试了3.4和2.7中可用的最基本操作。它在3.4中没有问题。在2.7中,你需要使用utf-8,否则你会收到错误。
这将适用于python 3.x但在2.x
中失败#!/usr/bin/env python3.4
import json
j = """{
"黄南":{"id":10973,"name":"黄南","prov":"青海","latt":35.519549,"logi":102.015248},
"海北":{"id":10970,"name":"海北","prov":"青海","latt":36.954413,"logi":100.900998}
}"""
o = json.loads(j)
print(json.dumps(o,indent=1))
这将在2.7中工作,可能也是2.6
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import json
j = """{
"黄南":{"id":10973,"name":"黄南","prov":"青海","latt":35.519549,"logi":102.015248},
"海北":{"id":10970,"name":"海北","prov":"青海","latt":36.954413,"logi":100.900998}
}"""
o = json.loads(j)
print(json.dumps(o,indent=1))