NSMutableDictionary有时会显示带引号的值或键

时间:2010-02-07 22:26:50

标签: xcode nsmutabledictionary

我正在解析数据文件并将从文件中读取的键值添加到NSMutableDictionary中。

我注意到当我在调试器中打印出字典的内容时,即:    po myDictionary

有些条目引用了它们,有些则没有。这是为什么?

例如我看到:

{
  "file_path"      = "../dat.txt"
  another_path     = "aa.dat"
  yet_another_path = bb.txt
}

我使用以下行从文件中提取键和值,然后将数据解析为只有基本字节

key_str = [[NSString alloc] initWithBytes:[data bytes]
                                   length:total_bytes
                                 encoding:NSUTF8StringEncoding];

val_str以相同的方式解析。

谢谢

2 个答案:

答案 0 :(得分:1)

出于数据存档的目的,您不应使用-debugDescription-description方法的输出。格式是一个实现细节,可能会有变化。

我建议您查看NSPropertyListSerialization(及相关)以解决您的档案需求。如果您需要类似于人类可读性的东西,它会提供XML格式。

答案 1 :(得分:0)

我遇到了同样的问题。 JSON解析器在包含下划线字符的Keys周围放置引号似乎是一个问题。因此,文件名的键是可以的,但带有file_name的键将返回为“file_name”。