3

emacsで処理したいjsonがあります。elispライブラリを見つけて使用し、jsonから目的のコンテンツを抽出しました。jsonを、抽出したelispと同等のものに置き換えたいと思います。

これは私が書いたものです:

(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 に答える