NSMutableDictionary иногда показывает значение или ключ с кавычками - PullRequest
0 голосов
/ 08 февраля 2010

Я анализирую файл данных и добавляю значение ключа, прочитанное из файла, в 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 ]

1 голос
/ 08 февраля 2010

Вы не должны использовать выходные данные методов -debugDescription или -description для целей архивирования данных. Формат является подробностью реализации и может быть изменен.

Я бы посоветовал вам обратиться к NSPropertyListSerialization (и другим) для решения ваших архивных задач. Он предлагает формат XML, если вам нужно что-то похожее на удобочитаемость человеком.

0 голосов
/ 11 декабря 2010

У меня такая же проблема. Кажется, это проблема с парсером JSON, помещающим кавычки вокруг ключей, которые содержат символ подчеркивания. Таким образом, ключ имени файла в порядке, но ключ с file_name возвращается как "file_name".

...