无法在Python中解析有效的json文件

时间:2018-03-06 21:39:17

标签: python json parsing

我正在尝试使用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)

我尝试了其他解决方案,但没有人为我工作。任何建议/解决方案都是非常苛刻的。

1 个答案:

答案 0 :(得分:2)

您的JSON文件是UTF-16-LE编码的,但您正在使用默认编码进行读取。

试试这个:

json_file = open("example.json", "r", encoding='utf_16_le')