【问题标题】:Json Zero considered as NSNumber and greater as NSstringJson Zero 被认为是 NSNumber 和更大的作为 NSstring
【发布时间】:2013-05-08 17:32:23
【问题描述】:

当 JSON 条目的值为 0 时,Xcode 将其视为 NSNumber,而当它大于 NSString 时。 问题是当使用if 检查值时,应用程序在某些情况下会崩溃。 我想检查JSON值是否为0,我应该如何解决这个问题?

JSON:

(
    {
    likesCount = 0; // NSNumber
    }
)

(
    {
    likesCount = 1; // NSString
    }
)

【问题讨论】:

  • 发布您的崩溃报告并发布您检查值的代码
  • 你用什么来解析 JSON?
  • 当你说 Xcode 认为它是 NSNumber 时,你真的是说 NSJSONSerialization 认为它是这个吗?
  • 请注意,您发布的不是 JSON,而是字典的 NSLog 转储。在原始 JSON 中,字符串将被引号包围,而数字将是“裸”的。对于您的 JSON 供应商来说,为同一个密钥发送不同的数据类型是不好的做法,但这是您和供应商之间的事情。

标签: objective-c json nsstring nsnumber


【解决方案1】:

您可以使用integerValue 属性,该属性同时存在于NSNumberNSString 上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多