【问题标题】:Non-string key in NSDictionary object?NSDictionary 对象中的非字符串键?
【发布时间】:2012-12-12 09:25:16
【问题描述】:

我已经使用 Foundation 框架中的 NSJSONSerialization 解析了一些 JSON 数据 - 但是,我得到了一个 NSDictionary 组的奇怪键,如下所示

"stop_times" =     (
            {
        "departure_time" = "5:48a";
        "departure_timestamp" = 1355309284;
        "service_id" = 1;
        shape = "Scarborough RT To Kennedy Station";
            }

知道关键的“形状”可能是什么吗?它是一个字符串吗?我不这么认为,因为它没有用双引号括起来。提前感谢您的帮助!

【问题讨论】:

    标签: objective-c json nsstring nsdictionary


    【解决方案1】:

    NSDictionarydescription 方法(如果您使用 NSLog 输出字典或在调试器中打印它)仅在字符串包含特殊字符时将字符串括在引号中。

    这种输出格式在“Property List Programming Guide”中的Old-Style ASCII Property Lists 中有描述:

    如果字符串是严格组成的,引号可以省略 字母数字字符且不包含空格(数字为 在属性列表中作为字符串处理)。 ...

    请注意,通常您无法从 NSLog() 输出中推断出类型。 123 可以是数字或字符串。但在这种情况下,shape 只能是字符串。

    【讨论】:

      【解决方案2】:

      这不是一个有效的 JSON 字符串。

      你可以检查相同的把这个字符串放在任何 json 查看器中,例如http://json.parser.online.fr/

      【讨论】:

      • 请您的服务器人员为您提供有效的 json 响应
      • 问题中显示的是 NSDictionary,而不是 JSON 数据。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      • 2019-07-22
      • 1970-01-01
      相关资源
      最近更新 更多