所以我在macbook上读取python中的json文件时遇到问题。这个问题很奇怪,因为我能够在几分钟之前读取json文件。这发生在我将xcode中的旧json文件更改为新的json文件时,请参阅下文,有人可以帮助我吗?
旧JSON文件:
{
"service 1” : {
{
"name" : "service 1"
},
}
"service 2" : {
{
"name" : "service 2"
}
}
}
新JSON文件:
{
"services” : [
{
"name" : "service 1"
},
{
"name" : "service 2"
}
]
}
以下python脚本无法读取上述两个json文件:
import json
print "Running services: "
with open('service_list.json') as service_file:
service_list = json.load(service_file)
print(service_file);
运行脚本时出现以下错误:
运行服务: Traceback(最近一次调用最后一次): 文件“update_checker.py”,第6行,in service_list = json.load(service_file) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py”,第290行,载入中 ** KW) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py”,第338行,载入中 return _default_decoder.decode(s) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,第366行,解码 obj,end = self.raw_decode(s,idx = _w(s,0).end()) 在raw_decode中输入文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,第382行 obj,end = self.scan_once(s,idx) ValueError:无效的控制字符位于:第2行第22列(字符23)
有人可以告诉我发生了什么事吗? 提前谢谢!
答案 0 :(得分:5)
你有聪明的引用(或正如其他人所说,某种类型的基于unicode的引用)。你需要有常规的双引号。查看services
的结束语:
{
"services” : [
{
"name" : "service 1"
},
{
"name" : "service 2"
}
]
}
需要成为:
{
"services" : [
{
"name" : "service 1"
},
{
"name" : "service 2"
}
]
}