在Python中发送多节点Json Post

在Python中发送多节点Json Post,python,json,google-cloud-messaging,Python,Json,Google Cloud Messaging,我了解如何用python发送简单的JSON 我找不到的是如何制作更复杂的JSON对象。它甚至不需要非常复杂,我只是在测试Google云消息,我需要发送如下内容: { "collapse_key" : "Food-Promo", "time_to_live" : 3600, "delay_while_idle" : "true", "data" : { "Category" : "FOOD", "Type": "VEG", }

我了解如何用python发送简单的JSON

我找不到的是如何制作更复杂的JSON对象。它甚至不需要非常复杂,我只是在测试Google云消息,我需要发送如下内容:

{
    "collapse_key" : "Food-Promo",
    "time_to_live" : 3600,
    "delay_while_idle" : "true",
    "data" : {
        "Category" : "FOOD",
        "Type": "VEG",
    }
    "registration_ids": ["APA4lj5jl54l2h..."],
},
obj = {}

obj["collapse_key"] = "Food-Promo"
obj["time_to_live"] = 3600,
obj["delay_while_idle" : "true",

data = {}
data["Category"] = "FOOD"
data["Type"] = "VEG"

obj["data"] = data

obj["registration_ids"] = ["APA4lj5jl54l2h..."]
我还没有找到用Python实现这一点的方法。我的大部分经验都是使用Java的,所以也许这就是我找不到它的部分原因,因为它看起来很简单,我担心我已经看到了一个解决方案,并且忽略了它。
任何帮助都将不胜感激。

数据
只是一个嵌套字典。也就是说,它与字典中的任何其他元素一样,只是它的值本身就是字典

>>> myDict = {'x' : 1, 'y' : 2}
>>> myList = [1,2,3]
>>> post = {'uname' : 'jon', 'node' : myDict, 'access-levels' : myList}
>>> json.dumps(post)
'{"node": {"y": 2, "x": 1}, "uname": "jon", "access-levels": [1, 2, 3]}'
>>> 
如果您正在逐行构建对象(几乎肯定不会这样做),您可能会执行以下操作:

{
    "collapse_key" : "Food-Promo",
    "time_to_live" : 3600,
    "delay_while_idle" : "true",
    "data" : {
        "Category" : "FOOD",
        "Type": "VEG",
    }
    "registration_ids": ["APA4lj5jl54l2h..."],
},
obj = {}

obj["collapse_key"] = "Food-Promo"
obj["time_to_live"] = 3600,
obj["delay_while_idle" : "true",

data = {}
data["Category"] = "FOOD"
data["Type"] = "VEG"

obj["data"] = data

obj["registration_ids"] = ["APA4lj5jl54l2h..."]

对不起,你到底有什么问题?“简单的JSON”对象和“更复杂的”对象之间有什么区别?什么不适用于
JSON.dumps()
?我很难将我编写的JSON转换成可以用于JSON.dumps的东西。我可以使用JSON.DUPS,比如:jDATa= {“title”:title },JSON.DIPS(title),但是中间的“DATA”对象给我带来麻烦。我指的是JDATA =“title”:title },JSON.DIPS(JDATA),您使用的是什么版本的Python?