1

实际上我正在使用 PushSharp。我想发送通知,但我必须将变量放入此 JSON 而不是硬编码文本(下例)。

var msg = "TEST MESSAGE";
    push.QueueNotification(new GcmNotification().ForDeviceRegistrationId(registrationId)
                             .WithJson("{\"alert\":\"HERE MESSAGE\",\"badge\":7,\"sound\":\"sound.caf\"}"));

是否可以?如何将 msg 变量放入

我试过这样的事情:

push.QueueNotification(new GcmNotification().ForDeviceRegistrationId(registrationId)
                         .WithJson("{\"alert\":\"{0}\",\"badge\":7,\"sound\":\"sound.caf\"}",msg));

但它说:方法没有重载'WithJson'需要“3”个参数。

任何想法如何解决这个问题?

4

1 回答 1

3

如果您想将消息添加到 JSON 中,您可以这样做:

var msg = "my message"; // this would be set somewhere else in the code
var jsonObject = {
    "alert" : "{0}",
    "badge" : "7",
    "sound" : "sound.caf",
    "msg" : msg
};

// convert the object into a string
var jsonString = JSON.stringify(jsonObject);

push.QueueNotification(new GcmNotification().ForDeviceRegistrationId(registrationId)
        .WithJson(jsonString));

编辑:我更改了代码,因此您不必操作字符串。相反,您现在可以操作 jsonObject。JSON.stringify 然后将其转换为字符串。

于 2013-04-18T11:41:14.863 回答