Python 从DICT列表创建json对象文件

Python 从DICT列表创建json对象文件,python,json,python-3.x,Python,Json,Python 3.x,我有一个python词典列表,如下所示: A = {} A["name"] = "Any_NameX" A["age"] = "Any_AgeX" A["address"] = {"city": "New York", "State": "NY"} B = {} B["name"] = "Any_NameY" B["age"] = "Any_AgeY" B["address"] = {"city": "Orlando", "State": "FL"} list_of_dicts.append

我有一个python词典列表,如下所示:

A = {}
A["name"] = "Any_NameX"
A["age"] = "Any_AgeX"
A["address"] = {"city": "New York", "State": "NY"}

B = {}
B["name"] = "Any_NameY"
B["age"] = "Any_AgeY"
B["address"] = {"city": "Orlando", "State": "FL"}

list_of_dicts.append(A)
list_of_dicts.append(B)
现在我将它们写入一个文件,如下所示:

for d in list_of_dicts:
    f.write(d)
在文件中,我所有的双引号都转换为单引号

如果我执行
f.write(json.dumps(d))
操作,所有内容都会变成一个添加了反斜杠字符的字符串,但我不希望这样做,我希望将它们作为json对象保留在文件中

如果我执行
f.write(json.loads(json.dumps(d))
这与编写dict是一样的,所有内容都用单引号括起来


我想要一个json对象文件,每行一个,所有文件都带双引号。我遗漏了什么?

您必须对文件对象使用
json.dump()
(函数名中没有
s

#!/usr/bin/env python3
import json

A = {}
A["name"] = "Any_NameX"
A["age"] = "Any_AgeX"
A["address"] = {"city": "New York", "State": "NY"}

B = {}
B["name"] = "Any_NameY"
B["age"] = "Any_AgeY"
B["address"] = {"city": "Orlando", "State": "FL"}

list_of_dicts = [A, B]

with open('json.file', 'w') as f:
    json.dump(list_of_dicts, f, indent=4)
导致

[
    {
        "name": "Any_NameX",
        "age": "Any_AgeX",
        "address": {
            "State": "NY",
            "city": "New York"
        }
    },
    {
        "name": "Any_NameY",
        "age": "Any_AgeY",
        "address": {
            "State": "FL",
            "city": "Orlando"
        }
    }
]

您必须对文件对象使用
json.dump()
(函数名中没有
s

#!/usr/bin/env python3
import json

A = {}
A["name"] = "Any_NameX"
A["age"] = "Any_AgeX"
A["address"] = {"city": "New York", "State": "NY"}

B = {}
B["name"] = "Any_NameY"
B["age"] = "Any_AgeY"
B["address"] = {"city": "Orlando", "State": "FL"}

list_of_dicts = [A, B]

with open('json.file', 'w') as f:
    json.dump(list_of_dicts, f, indent=4)
导致

[
    {
        "name": "Any_NameX",
        "age": "Any_AgeX",
        "address": {
            "State": "NY",
            "city": "New York"
        }
    },
    {
        "name": "Any_NameY",
        "age": "Any_AgeY",
        "address": {
            "State": "FL",
            "city": "Orlando"
        }
    }
]

你能举一个例子说明你的文件中有什么,你想在你的文件中有什么吗。你的问题我不太清楚。如果你正确地转储到json文件,它应该自动有双引号,因为json不支持单引号。也可能是重复的,不要执行f.write(…)。直接使用json.dump()(不是用于转储到字符串而不是文件的json.dumps),您可以举一个例子说明文件中有什么内容,以及您希望在文件中有什么内容。你的问题我不太清楚。如果你正确地转储到json文件,它应该自动有双引号,因为json不支持单引号。也可能是重复的,不要执行f.write(…)。直接使用json.dump()(而不是用于转储到字符串而不是文件的json.dumps),如果我执行上述操作,内部dict(地址)将变成这样:“地址”:{“\State\”:\“FL\”}。。如何删除escape chaarcters?如何打开/查看文件?您在哪个操作系统上使用哪个python解释器?如果我执行上述操作,内部dict(address)会变成这样:“address”:{“\State\”:\“FL\”}。。如何删除escape chaarcters?如何打开/查看文件?您在哪个操作系统上使用哪个python解释器?