【发布时间】:2013-02-13 10:54:31
【问题描述】:
我正在向 Google GCM 服务器https://android.googleapis.com/gcm/send 发送消息 (POST),以便向已注册的 Android 设备发送推送通知。 POST 正文如下所示:
{
"registration_ids" : [android_registration_id],
"data" : {
"message" : "Hello World!",
"update" : "You've got a new update",
"info" : "You've got new information updates too!"
}
}
假设我不知道在“数据”字段中发送给我的所有键值对(gcm 注册的 android 应用程序)并且我想枚举并打印它们,我可以提取“数据”中的字段吗" 作为 JSON 结构?
例如在上面的示例中,我需要以下内容作为 JSON 对象:
{
"message" : "Hello World!",
"update" : "You've got a new update",
"info" : "You've got new information updates too!"
}
【问题讨论】:
-
据我所知,GCM 正在发送封装在 Bundle 对象中的数据,但您可以尝试发送键值结构化数据并作为值放置您的 json。不确定它是否能解决问题。
-
我可以发送整个 JSON 作为一个值来假设“json_structure”,但我想让它完全独立于用户,无论用户通过什么,我都会制作一个 JSON 结构并显示键值对。
-
用户在整个游戏中扮演什么角色?您将接受响应并将其显示给用户。
-
对不起,我换个说法,服务器传递任意数据,用户必须查看该数据。我只需要知道是否有办法将整个“数据”值转储到 JSON 结构中,我将遍历键值对并显示它们。
-
您需要向用户展示整个 json 字符串的单个部分,正如我所理解的,就像您的示例中的 Hello World 一样。因此,我从服务器端知道,如果您通过 GCM 发送 json 字符串,android 设备会将其作为 Bundle 接收,您必须知道获取值的密钥。您可以尝试在 json 中发送一个 json 作为值,但不确定它是否会起作用,但这是我唯一的想法,以防您不知道密钥。
标签: android google-cloud-messaging