Emacs 如何使用elisp以惯用的方式就地转换某些文本?

Emacs 如何使用elisp以惯用的方式就地转换某些文本?,emacs,elisp,Emacs,Elisp,我想在emacs中处理一些json。我已经找到并使用elisp库从json中提取所需的内容,我想用我提取的elisp equivalent替换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

我想在emacs中处理一些json。我已经找到并使用elisp库从json中提取所需的内容,我想用我提取的elisp equivalent替换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) 
))
我被什么东西卡住了。我似乎找不到办法将我的_json的内容写入标记处的缓冲区。我能想到的唯一方法是将文本保存到临时缓冲区,然后
(插入缓冲区)
将其保存。这对我来说似乎太过分了


如何在elisp中习惯性地执行此操作?

写回JSON部分

(insert (format "%s" (json-encode my-json)))
要回写elisp,请执行以下操作:

(insert (format "%s" my-json))
请注意,在变量命名中使用下划线与约定相反