我有生成数据的函数,我添加了dict,我希望我的json文件看起来像这样。1.要有多个数据,而不是像我的代码中那样只有一个键值对:
{"data":[
{"key":"Shyam", "value":10.4},
{"key":"Bob", "value":12.5},
{"key":"Jai", "value":24.2}
]}
下面是只添加了一个键值对时的情况:
{
"key": "Amadm",
"value": 14.5
}
这是我在json转储之前分配给dict的代码。:
def gen_dict(key, value, ts):
data = {
"name": key,
"value": value,
"ts": ts
}
return data
json_object = json.dumps(gen_dict(gen_key(), gen_value()), indent = 4)
因此,我的问题是如何在dict中分配多个键值对,然后将其转换为json obj,就像我在示例中展示的示例一样。
发布于 2021-06-24 11:31:46
您正在创建单个字典,您需要的是字典列表:
假设您每次调用gen_key()
和gen_value()
都会生成一个数据实例,您可以使用:
# Some random key
def gen_key():
return ''.join((random.choice(string.ascii_lowercase) for x in range(5)))
# Some random value
def gen_value():
return random.choice(range(1000))
s = json.dumps({"data": [ {
"name": gen_key(), "value": gen_value()} for i in range(3)] }, indent = 4)
输出:
{
"data": [
{
"name": "rrqct",
"value": 162
},
{
"name": "vbuyq",
"value": 422
},
{
"name": "kfyqt",
"value": 7
}
]
}
https://stackoverflow.com/questions/68114692
复制