3

我有一些我想在 emacs 中处理的 json。我已经找到并使用 elisp 库从 json 中提取所需的内容,我想用我提取的 elisp 等价物替换 json。

这是我写的:

(defun extract-foo (start end)
  "Extract the foo field from a json object in the region"
  (interactive "r")
  (let ((my_json (cdr (assoc 'FOO  (json-read-from-string (buffer-substring-no-properties start end))))))
    (delete-region start end)
    (SOMETHING) 
))

我卡在某事上。我似乎找不到将 my_json 的内容写入标记处的缓冲区的方法。我能想到的唯一方法是将文本保存到临时缓冲区,然后保存(insert-buffer)。不过,这对我来说似乎太过分了。

我怎样才能在elisp中惯用地做到这一点?

4

1 回答 1

5

写回 JSON 部分

(insert (format "%s" (json-encode my-json)))

写回 elisp:

(insert (format "%s" my-json))

请注意,您在变量命名中使用下划线是违反约定的。

于 2012-08-24T15:28:47.923 回答