【发布时间】:2019-01-09 12:16:24
【问题描述】:
根据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)
我尝试了不同的解决方案,包括:
- 序列化 JSON。
- 改为发送数组 [String : Any]。
但是每次我得到同样的错误。是的,我知道像 Could not cast value of type '__NSCFString' to 'NSDictionary' 这样的问题之前已经得到解答。但他们都没有为我工作。
【问题讨论】:
-
什么是 JSONObject?抱歉我的无知,但这听起来像是一个 Java 类。
-
@JoakimDanielson 很抱歉没有提及。它只是我用于 [String : Any] 的类型别名。
-
我已经改写了我的问题。立即查看
-
代码昨天不工作。但是今天当删除派生数据时,清理构建的文件夹然后运行它,它与 [String : Any] 一起工作一切正常。好像我一直在尝试不同的事情,评论一个解决方案并运行另一个解决方案,所以 Xcode 出了点问题。 (这很奇怪)
-
感谢大家调查我的问题并投入时间:)