用Python发送多节点Json Post

时间:2012-07-27 21:21:31

标签: python json google-cloud-messaging

我理解如何在python中发送一个简单的JSON。

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

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

我无法在Python中找到一种方法。我的大部分经验都是使用Java,所以也许这就是为什么我找不到这个的部分原因,因为它看起来很简单,我担心我已经看到了解决方案并将其传递过来。 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

>>> 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]}'
>>> 

答案 1 :(得分:0)

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

如果你逐行构建对象(你几乎肯定不会这样做),你可能会这样做:

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..."]