iPhone & JSON: кодирование дат в объектах JSON для использования в приложениях iPhone - PullRequest
2 голосов
/ 27 марта 2011

Учитывая производительность и удобочитаемость, как следует кодировать даты в JSON для использования в приложениях для iPhone? Идеальная кодировка будет легко работать с NSDate, но также будет пригодна для будущего использования в веб-интерфейсе (т.е. без использования API-интерфейса исключительно для iPhone, что-то кроссплатформенное). Вот некоторые кодировки, которые я рассматривал:

# UNIX Epoc based integer encoding
{"Date":123456789}

# ISO 8601 String format
{"Date":"2011-03-25T20:00Z"}

Не повлияет ли синтаксический анализ строки ISO 8601 на производительность при обработке тысяч дат? Не слишком ли важна производительность по сравнению с Epoc? Отсутствует ли кодировка, отвечающая указанным требованиям?

1 Ответ

2 голосов
/ 27 марта 2011

Я всегда использовал кодирование на основе эпох Unix, когда у меня есть контроль над стеком серверов.Плюсы перевешивают минусы для моих вариантов использования

эпохальные плюсы

  • быстрее (может быть проблемой, если иметь дело с большим объемом дат.)
  • требуется меньше кода
  • , поддерживаемый почти каждой библиотекой / языком даты / времени

эпохи минусов

  • не читается человеком
  • фиктивный ввод (при условии, что это число), скорее всего, все еще даст вам действительную дату

ISO профи

  • очень читабельный
  • фиктивный ввод(неправильно сформированный), скорее всего, не даст вам действительную дату

минусы ISO

  • занимает больше байтов
  • необходимо написать / найти собственную реализацию Cocoa (дайте мне знать, если вы не можете их найти, у меня где-то есть категория)

Разбор ISO не сложен, но вы должны проверить себя в своей собственной реализации.Какао не имеет самого быстрого парсера строк.Я должен верить, что это будет заметно медленнее (вероятно, более чем в 2 раза).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...