2016-01-28 2 views
1

Что было бы каноническим способом для emacs представлять JSON-подобные структуры или вложенные хэш-карты?Emacs - представляют собой JSON-подобные структуры

У меня есть структура с приблизительно 25 клавишами верхнего уровня. Каждый ключ имеет не более чем под-ключ (т. Е. Это другой элемент ключа/значения). Некоторые из конечных значений представляют собой массивы FIFO.

Я заявлял, что моделировал это, используя hash-map, но он кажется громоздким. Теперь я просто наткнулся на assoc-lists, что было бы наиболее подходящим в моем случае?

Примечание: Я намерен повторить parinfer в Elisp, this part сейчас, и узнать Elisp одновременно.

+0

В зависимости от формы и размера ваших JSON-подобных данных, и что вы собираетесь с ним делать. У вас есть хеш-карты, списки ассоциаций (alists), списки свойств (plists) и т. Д., Каждый со своими собственными свойствами. «JSON-подобная структура» недостаточно специфична. Вопрос все еще слишком широк, ИМО. – Drew

ответ

4

Вы должны использовать assoc-lists, которые представляют собой стандартный способ представления карты/словаря/таблицы Emacs. Вы видите их во многих местах: auto-mode-alist, minor-mode-alist, interpreter-mode-alist и т. Д. hash-map предназначен только для скорости, когда у вас 1000+ записей.

Там даже официальный способ преобразования JSON к assoc-list:

(json-read-from-string "{\"foo\": {\"bar\": 5}}") 
=> ((foo (bar . 5)))