NSDictionary对象中的非字符串键?

时间:2012-12-12 09:25:17

标签: objective-c json nsstring nsdictionary

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

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

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

2 个答案:

答案 0 :(得分:3)

description的{​​{1}}方法(如果使用NSLog输出字典,或在调试器中打印时使用)仅在字符串包含特殊字符时才用引号括起来。

此输出格式在“属性列表编程指南”中的Old-Style ASCII Property Lists中描述:

  

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

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

答案 1 :(得分:-2)

这不是有效的JSON字符串。

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