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

无法在Python中分析有效的json文件,python,json,parsing,Python,Json,Parsing,我正在尝试使用Python3.6和json模块解析json文件。不幸的是,我遇到了以下错误: json.decoder.JSONDecodeError:应为包含在双引号中的属性名:第1行第2列(字符1) 我尝试了json.load()和json.load()两种方法,但仍然存在此错误。我不明白这个错误是从哪里来的,因为我的JSON没有单引号 JSON是下一个: {     "stats": {         "host1": {             "changed": 0,       

我正在尝试使用Python3.6和json模块解析json文件。不幸的是,我遇到了以下错误:

json.decoder.JSONDecodeError:应为包含在双引号中的属性名:第1行第2列(字符1)

我尝试了
json.load()
json.load()
两种方法,但仍然存在此错误。我不明白这个错误是从哪里来的,因为我的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
        }
    }
}
import json

json_file = open("example.json", "r")
data = json.load(json_file)
下面是我的python代码:

{
    "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
        }
    }
}
import json

json_file = open("example.json", "r")
data = json.load(json_file)

我尝试了在这里找到的其他解决方案,但没有人为我工作。非常感谢您的任何建议/解决方案。

您的JSON文件是UTF-16-LE编码的,但您阅读时使用的是默认编码

试试这个:

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

您的JSON文件编码为UTF-16-LE,但您正在使用默认编码读取它

试试这个:

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

我无法重现这个错误。它对我来说工作得很好,使用Python3.6你说你的JSON看起来像“某物”,你能发布实际的东西吗?错误消息说错误在第一行。你能至少把实际的第一行发出去吗?另外,如果你在Linux/UNIX上,你能发布
hdexample.json | head-1
@chrisz吗?我刚刚用原始的json更新了这篇文章。我没有意识到最初的那一个确实有效。更新后的那一个对我来说也没有问题。我无法重现这个错误。它对我来说工作得很好,使用Python3.6你说你的JSON看起来像“某物”,你能发布实际的东西吗?错误消息说错误在第一行。你能至少把实际的第一行发出去吗?另外,如果你在Linux/UNIX上,你能发布
hdexample.json | head-1
@chrisz吗?我刚刚用原始的json更新了这篇文章。我没有意识到最初的一个确实有效。更新后的一个对我来说也没有问题。太棒了!出于好奇,我想他是这样知道的:
第2列(char1)
。唯一的办法就是用UTF-16编码。太棒了!出于好奇,我想他是这样知道的:
第2列(char1)
。唯一的办法是,如果它是用UTF-16编码的。