我正在尝试使用Python3.6和json模块解析json文件。不幸的是,我收到了这个错误:
json.decoder.JSONDecodeError:期望用双引号括起的属性名:第1行第2列(char 1)
我尝试使用json.load()
和json.loads()
方法,但我仍然遇到此错误。我不明白这个错误来自哪里,因为我的JSON没有单引号。
JSON是下一个:
{
"stats": {
"host1": {
"changed": 0,
"failures": 0,
"ok": 1,
"skipped": 0,
"unreachable": 0
},
"host2": {
"changed": 0,
"failures": 0,
"ok": 1,
"skipped": 0,
"unreachable": 0
},
"host3": {
"changed": 0,
"failures": 0,
"ok": 1,
"skipped": 0,
"unreachable": 0
},
"host4": {
"changed": 0,
"failures": 0,
"ok": 0,
"skipped": 0,
"unreachable": 1
}
}
}
我的python代码是下一个:
import json
json_file = open("example.json", "r")
data = json.load(json_file)
我尝试了其他解决方案,但没有人为我工作。任何建议/解决方案都是非常苛刻的。
答案 0 :(得分:2)
您的JSON文件是UTF-16-LE编码的,但您正在使用默认编码进行读取。
试试这个:
json_file = open("example.json", "r", encoding='utf_16_le')