根据 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]
但它崩溃并给我错误:
Could not cast value of type '__NSCFString' (0x1b69af5e8) to 'NSDictionary' (0x1b69b04e8)
我尝试过不同的解决方案,包括:
- 序列化 JSON。
- 改为发送数组 [String : Any]。
但是每次我都得到同样的错误。是的,我知道像Could not cast value of type '__NSCFString' to 'NSDictionary' 这样的问题之前已经回答过了。但他们都不适合我。
最佳答案
替换
let info = message.data.message.value as! JSONObject
与
let info = message.data.message.value as! String
关于ios - Pubnub 消息未在 Swift 中转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54109960/