Emacs - 表示 JSON-like 结构

Emacs - represent JSON-like structures

emacs 表示 JSON 类结构或嵌套哈希映射的规范方式是什么?

我有一个包含大约 25 个顶级键的结构。每个键只有一个子键(即值是另一个 key/value 元素)。一些最终值是 FIFO 数组。

我说过要用 hash-map 来建模,但感觉很麻烦。现在我偶然发现了 assoc-lists,最适合我的情况是什么?

注意:我打算在elisp中复制parinfer,暂时this part,同时学习elisp。

您应该使用 assoc-lists,这是表示 map/dictionary/table 的 Emacs 标准方式。您会在很多地方看到它们:auto-mode-alistminor-mode-alistinterpreter-mode-alist 等。hash-map 仅用于提高速度,当您有 1000 多个条目时。

甚至还有一种官方方法可以将 JSON 转换为 assoc-list:

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