Python 转储与将数据加载到JSON中
我观察到以下行为:Python 转储与将数据加载到JSON中,python,json,string,dictionary,Python,Json,String,Dictionary,我观察到以下行为: railnet= '''{ "nodes": [ {"data": { "id": 1,"name":"BER" }}, {"data": { "id": 2,"name": "MUN"}}, {"data": { &quo
railnet= '''{
"nodes": [
{"data": { "id": 1,"name":"BER" }},
{"data": { "id": 2,"name": "MUN"}},
{"data": { "id": 3,"name": "FRA"}}
],
"edges": [
{"data": { "id": "BER - MUN", "source": "BER", "target": "MUN" }},
{"data": { "id": "MUN - FRA", "source": "MUN", "target": "FRA" }},
{"data": { "id": "FRA - BER", "source": "FRA", "target": "BER" }}
]
}'''
railnetJSON = json.loads(railnet)
print(railnetJSON['nodes'])
铁路网是一根弦。到目前为止一切正常
但如果railnet是一个目录,那又是什么呢
railnet= {
"nodes": [
{"data": { "id": 1,"name":"BER" }},
{"data": { "id": 2,"name": "MUN"}},
{"data": { "id": 3,"name": "FRA"}}
],
"edges": [
{"data": { "id": "BER - MUN", "source": "BER", "target": "MUN" }},
{"data": { "id": "MUN - FRA", "source": "MUN", "target": "FRA" }},
{"data": { "id": "FRA - BER", "source": "FRA", "target": "BER" }}
]
}
print(type(railnet)) # ->dict
railnetJSON = json.dumps(railnet) # -> no error here
print(railnetJSON['nodes']) # -> error here
线路
railnetJSON = json.dumps(railnet)
工作
但最后一行给出:
TypeError: string indices must be integers
问题是为什么我可以将字典转储到带有转储的JSON中(没有错误),但是访问节点会引发错误。有一个变量作为string或dict传递给JSON时,正确的做法是什么
换句话说,如果您需要创建一个JSON对象,并将其传递给另一个接受JSON的函数,那么当您拥有一个字典时,该如何继续
谢谢
在读了和之后,似乎要做的就是转储dict。
json。dumps
获取一个对象(在本例中是dict)并将其转储为json格式的字符串。从那以后,它只是一根绳子。如果要引用其中的键,则需要json.loads
将其加载回目录。json.dumps()
将json转换为字符串,因此无法使用键访问dumps()
将字典转换为json字符串