gpt4 book ai didi

python - 使用 Python 对象形成带有对象的 JSON 数组

转载 作者:太空宇宙 更新时间:2023-11-03 16:02:14 24 4
gpt4 key购买 nike

我有一些变量需要转储为以下格式的 json:

{  
"elements":[
{
"key":"foo",
"value":"7837"
},
{
"key":"bar",
"value":"3423"
}
]
}

我正在尝试找出正确的对象,该对象在使用 json.dumps() 时会给出上述结构。我看到在 python 中,列表给出一个 json 数组,而字典在使用 json 转储时给出一个 json 对象。

我正在尝试这样的事情:

x={}
x["elements"]={}
x["elements"]["key"]="foo"
x["elements"]["value"]="7837"
x["elements"]["key"]="bar"
x["elements"]["value"]="3423"
json_x=json.dumps(x)

但这仍然给了我:

{"elements": {"key": "bar", "value": "3423"}} 

这显然是不正确的。

如何合并正确的字典和列表结构来获取上面的 json?

最佳答案

为什么不直接使用文字呢?

x = {
"elements": [
{"key":"foo", "value":"7837"},
{"key":"bar", "value":"3423"}
]
}
<小时/>

要修复代码,您需要在分配给 elements 字典条目时使用列表文字 ([]):

>>> x = {}
>>> x["elements"] = [] # <---
>>> x["elements"].append({})
>>> x["elements"].append({})
>>> x["elements"][0]["key"]="foo"
>>> x["elements"][0]["value"]="7837"
>>> x["elements"][1]["key"]="bar"
>>> x["elements"][1]["value"]="3423"
>>> json.dumps(x)
'{"elements": [{"value": "7837", "key": "foo"}, {"value": "3423", "key": "bar"}]}'

但是,它很难阅读和维护。

关于python - 使用 Python 对象形成带有对象的 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40229990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com