这是我在python中的json对象
json1 = {
"success":true,
"message":"",
"result":[{
"MarketName":"USDT-BTC"
}]}
json2 = {
"success1":true1
}
我想在python中使用json2更新json1对象中的results元素
json1 = {
"success":true,
"message":"",
"result":{
"success1":true1
}}
你能让我知道怎么做吗
答案 0 :(得分:0)
简便的方法是将新字典重新分配到现有密钥中。
>>> json1 = { "success": True, "message":"", "result":[{ "MarketName":"USDT-BTC" }]}
>>> json2 = { "success1":True }
>>> json1['result'] = json2
>>> json1
{'success': True, 'message': '', 'result': {'success1': True}}
您可以使用dict["key"]
访问键并分配新值dict["key"] = new_value
。
根据您要执行的操作,应该遍历数组(无论是否有)以更改此值或需要执行的任何操作。
答案 1 :(得分:0)
您可以使用更新功能:json1.update(json2)
答案 2 :(得分:0)
您可以使用json
库对JSON数据进行序列化和反序列化。
In [1]: import json
In [2]: json1 = '{ "success": true, "message":"", "result":[{ "MarketName":"USDT-BTC" }]}'
In [3]: json2 = '{ "success1":true }'
In [4]: dict1 = json.loads(json1) # Deserialize a str or unicode instance containing a JSON document to a Python object
In [5]: dict2 = json.loads(json2)
In [6]: dict1
Out[6]: {u'message': u'', u'result': [{u'MarketName': u'USDT-BTC'}], u'success': True}
In [7]: dict2
Out[7]: {u'success1': True}
In [8]: dict1['result'] = dict2
In [9]: dict1
Out[9]: {u'message': u'', u'result': {u'success1': True}, u'success': True}
In [10]: final_json = json.dumps(dict1) # Serialize obj to a JSON formatted str
In [11]: final_json
Out[11]: '{"message": "", "result": {"success1": true}, "success": true}'
答案 3 :(得分:0)
如果 json1 和 json2 的类型是dict,则可以使用
json1['result'] = json2
但是,如果它们最初是字符串,则必须对 json1 和 json2 使用 json.loads ,并使用上述代码更新值。
import json
json.loads(json1)
json.loads(json2)
json1['result'] = json2