我应该使用什么样的JSON数据swift 2.0

时间:2015-12-22 08:04:28

标签: ios json swift swift2

我正在尝试从网站接收JSON推送。但我有一些问题。

这是我的推动:

> $this->parsepush->send( array( "channels" => ['test'], "data" => > $post_data ));

代码:

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
          //  PFPush.handlePush(userInfo)
   // PFAnalytics.trackAppOpenedWithRemoteNotificationPayload(userInfo)
    //batas
    if let msg = userInfo["aps"] as? NSObject {
        print(msg)
        print("a")
    }
    if let msg = userInfo["test"] as? NSObject {
        print(msg)
    }
    if let msg = userInfo[""] as? NSObject {
        print(msg)
    }

这是打印输出:

{
}
a

只能检测“aps”但没有值

但是我的userInfo得到这样的值:

> Printing description of userInfo:
    ▿ 3 elements
      ▿ [0] : 2 elements
        - .0 : message
        - .1 : 1235
      ▿ [1] : 2 elements
        - .0 : aps
        - .1 : 0 elements
      ▿ [2] : 2 elements
        - .0 : link
        - .1 : 

然后我读了这个PFPush handlePush crash: NSCFDictionary length Parse同时支持iOS和Android PushNotification服务,这意味着它不能在通用JSON字符串中使用任何特定于服务的格式。

iOS使用以下格式:

 > {
        "aps" : {
            "alert" : {
                "title" : "Game Request",
                "body" : "Bob wants to play poker",
                "action-loc-key" : "PLAY"
            },
            "badge" : 5,
        },
        "acme1" : "bar",
        "acme2" : [ "bang",  "whiz" ]
    }

我是否必须遵循此iOS格式,或者我仍然可以使用自己的JSON类型?

很抱歉,如果在解释此错误时有任何遗漏。

固定

由于我的JSON,我的代码错误。测试密钥没有价值,只有消息,aps和链接。

所以我的代码就像:

> if let msg = userInfo["message"] as? String {
    print(msg)
}

是的,它对我有用。

0 个答案:

没有答案