在Swift中Pubnub消息未转换为JSON

时间:2019-01-09 12:16:24

标签: ios json swift pubnub

根据https://support.pubnub.com/support/solutions/articles/14000043790-can-i-send-and-or-receive-json-objects-,我们可以在Pubnub消息中发送JSON对象,而我本人已经完成了以前的项目。

但是这次,这件事给了我艰难的时光。 在发送方面,我所做的是:

var json = [String : Any]
json["lat"] = 33.923892
json["long"] = 73.232873
json["userId"] = "abc"

在接收方,我试图将其强制转换为:

let info = message.data.message.value as! [String : Any]

但是它崩溃了,并给了我错误:

  

无法将类型'__NSCFString'(0x1b69af5e8)的值强制转换为   'NSDictionary'(0x1b69b04e8)

我尝试了不同的解决方案,包括:

  1. 序列化JSON。
  2. 发送数组而不是[String:Any]。

但是每次我遇到相同的错误。是的,我知道像无法将类型'__NSCFString'的值强制转换为'NSDictionary'这样的问题已经得到了回答。但是他们都没有为我工作。

1 个答案:

答案 0 :(得分:1)

替换

let info = message.data.message.value as! JSONObject 

使用

let info = message.data.message.value as! String