操纵值Python字典(JSON对象)

时间:2017-03-14 20:06:10

标签: python json variables dictionary python-requests

我在python中使用请求来处理发送数据(Post + JSON)

这是我的问题:

payload = {"credentials": {"deviceid": "XXX","pin": "XXX"},"data": [{"id": "","name": "","type": "","data": [{"value": "","date": ""}]}]}

然后我想用Python中的变量填充空白值(""不是XXX)

payload["id"] = payload_id
payload["name"] = payload_name
payload["type"] = payload_type
payload["value"] = payload_value
payload["date"] = payload_datetime

如果我现在打印

payload["id"]
一切正常。

但如果我打印整个

print payload

然后该值不会改变。但是价值已经增加了。比我有两个。一个空,一个具有正确的值。

2 个答案:

答案 0 :(得分:0)

id 键是字典的一部分,该字典是包含另一个字典的列表的成员,您必须使用 数据< / em> 键。

payload["data"][0]["id"]

答案 1 :(得分:0)

您应该降到正确的级别,即payload["data"][0]["id"]而不是payload["id"]

因此,它应该是:

payload["data"][0]["id"] = payload_id
payload["data"][0]["name"] = payload_name
payload["data"][0]["type"] = payload_type
payload["data"][0]["data"][0]["value"] = payload_value
payload["data"][0]["data"][0]["date"] = payload_datetime