【发布时间】:2015-05-24 15:50:00
【问题描述】:
var dict = Json.Deserialize(text) as Dictionary<string, object>;
当我在我的 pc 和 Mac 上运行它时,这条线产生了一个很好的工作字典,但是当我在运行 iOS 8.3 的 Ipad 上运行它时,字典为空。 text 只是我从 WWW 调用中得到的响应字符串。我在我的统一游戏中使用 facebook 的 MiniJson 实现。任何想法,是否与反射有关(过去有过这样的问题)。
【问题讨论】:
-
假设没有例外,请尝试删除演员表并查看实际返回的内容。它可能不是
Dictionary<string, object>,但可能不是null。您还应该验证text是否符合您的预期。 -
@Charles Mager 。反序列化返回一个对象。我如何才能看到返回的内容而不将其转换为某些东西?我还验证了响应文本是空的。但是为什么在 Ipad 上是空的,而在其他设备上却很好呢?
-
GetType或在调试器中将鼠标悬停在它上面。虽然如果text是空的,那么它可能是null。您的问题不在于反序列化。 -
@Charles Mager 你是对的。我刚刚修好了。事实证明,当用户已经登录到 fb 但应用程序没有启动时,我没有从 facebook 请求一些我需要的数据,因此是空值等等。