Я разработал JSON representation of a mailbox so that I can look up mails easily, например mailjson[UID].Body
.Рекомендации по дизайну JSON
Однако после того, как смотреть на Angularjs и Эмбер, шаблонирования двигатели MVC JS, кажется, что JSON должен быть в формате:
[{
"id": 1,
"body": "Blah blah blah..."
},
{
"id": 2,
"body": "More blah foo blah"
},
{
"id": 3,
"body": "Hopefully you understand this example"
}]
И тогда есть некоторая функция FindAll (идентификатор), чтобы захватить пункт на основе по id, который хочет, итерации через JSON. Итак, теперь мне интересно, имеет ли мой дизайн JSON достоинство? Я делаю это неправильно? Почему люди не используют дизайн поиска dict, который я использую с моим JSON?
Любые другие советы, чтобы убедиться, что у меня хороший дизайн структуры данных, я был бы признателен.
Похоже, вы в основном просите (х) преимущества хэш-таблиц против списков/массивов. Все зависит от того, что вы в основном делаете с вашими данными. –
Я делаю это для создания почтовых архивов https://github.com/kaihendry/imap2json – hendry
Это неправильный ответ :-) То, что он имеет в виду, зависит от того, с чем вы это делаете, а не с тем, как вы его храните. Какой алгоритм вы используете для * обработки * данных. Если вы знаете, что собираетесь получить доступ к n-му элементу в контейнере для хранения, перейдите для массивов, если вы знаете, что у вас будет какой-то строковый ключ, чтобы найти часть информации внутри большого контейнера для хранения для хэшей. Один - это упорядоченное (пронумерованное) хранилище, другое - неупорядоченное. Если вы собираетесь получать свои электронные письма по идентификатору, и нет (больших) пробелов в идентификационной нумерации, массивы лучше. –