如何在JSON字符串中添加元素,该元素取决于Python中该字符串的另一个元素

时间:2020-10-07 22:43:51

标签: python json

我正在尝试将元素添加到由该字符串中的元素值组成的JSON字符串中。 例如,我的字符串是:

ubuntu

我想向“ weight”元素添加文本,然后将该新元素另存为“ value”。因此结果应如下所示:

root

我要编辑的JSON字符串比该示例字符串具有更多的“产品”。

2 个答案:

答案 0 :(得分:1)

您似乎只能更新列表项:

dd = {'stock': [{'weight': '80', 'warehouse': 1}, {'weight': '40', 'warehouse': 2}, {'weight': '100', 'warehouse': 1}]}

for d in dd['stock']:
    d['value'] = 'weight ' + d['weight'] + ' lbs'
    
print(dd) 

输出

{'stock': [{'weight': '80', 'warehouse': 1, 'value': 'weight 80 lbs'}, {'weight': '40', 'warehouse': 2, 'value': 'weight 40 lbs'}, {'weight': '100', 'warehouse': 1, 'value': 'weight 100 lbs'}]}

答案 1 :(得分:0)

第二个答案,如果另一个令人困惑。

dict = {'stock': [ {'weight': '80', 'warehouse': 1}, {'weight': '40', 'warehouse': 2}, {'weight': '100', 'warehouse': 1} ]}

# loop throught keys
     # loop through values of keys
         # append new value to list

for key in dict:
    for values in dict[key]:
        values["value"] = "weight " + values["weight"]+ " lbs";

print(dict)

我建议您详细了解dictionary manipulation

输出

{
'stock': [
    {'weight': '80', 'warehouse': 1, 'value': 'weight 80 lbs'},
    {'weight': '40', 'warehouse': 2, 'value': 'weight 40 lbs'},
    {'weight': '100', 'warehouse': 1, 'value': 'weight 100 lbs'}
]}