繁体   English   中英

如何通过python在json中写入或附加对象的特定键/值

[英]How to write or append at a specific key/value of an object in json via python

这个问题是不言自明的。 我需要通过 python 在 json 中的对象的特定键/值上写入或附加。

我不知道该怎么做,因为我不擅长 JSON,但这里有一个我尝试这样做的例子(我知道这是错误的)。

with open('info.json', 'a') as f:
    json.dumps(data, ['key1'])

这是 json 文件:

{"key0":"xxxxx@gmail.com","key1":"12345678"}

Python中 JSON 的典型使用模式是将 JSON 对象加载到 Python 中,编辑该对象,然后将生成的对象写回文件。

import json

with open('info.json', 'r') as infile:
    my_data = json.load(infile)
    
my_data['key1'] = my_data['key1'] + 'random string'
# perform other alterations to my_data here, as appropriate ...

with open('scratch.json', 'w') as outfile:
    json.dump(my_data, outfile)

'info.json' 的内容现在是

{"key0": "xxxxx@gmail.com", "key1": "12345678random string"}

关键操作是json.load(fp) ,它将文件反序列化为内存中的 Python 对象,以及json.dump(obj, fp) ,它将编辑后的对象重新序列化为正在写出的文件。

如果您正在编辑非常大的 JSON 对象并且无法轻松地一次将整个对象拉入内存,这可能不合适,但如果您只是想学习 Python JSON 库的基础知识,它应该可以帮助您入门。

使用json库将数据附加到 json 文件的示例:

import json

raw =  '{ "color": "green",  "type": "car" }'
data_to_add = { "gear": "manual" }  
parsed = json.loads(raw) 
parsed.update(data_to_add) 

然后您可以使用json.dumps保存您的更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM