33.32.3 JSONRPCのJSONオブジェクトフォーマット

JSONRPCのJSONとLispのplist(プロパティリストを参照)は交換することができます。JSON互換のplistをディスパッチャ関数に渡したり、同様にJSON互換のplistをjsonrpc-notifyjsonrpc-requestjsonrpc-async-requestに渡すことができます。

plist処理を容易にするために、このライブラリーはcl-libライブラリー(cl-lib in Common Lisp Extensions for GNU Emacs Lispを参照)の積極的に使用しており、そのクライアントにたいしてもこれを同じように提案します(強制ではない)。以下の例のようにJSONオブジェクトの非構造化用lambdaの作成にはマクロjsonrpc-lambdaを使用できます:

(jsonrpc-async-request
 myproc :frobnicate `(:foo "trix")
 :success-fn (jsonrpc-lambda (&key bar baz &allow-other-keys)
               (message "Server replied back with %s and %s!"
                        bar baz))
 :error-fn (jsonrpc-lambda (&key code message _data)
             (message "Sadly, server reports %s: %s"
                      code message)))
This page has generated for branch:work/emacs-30_8ac894e2246f25d2a2a97d866b10e6e0b0fede5a, commit:b7b3c5b81a7a4eec61faa3ed3d7c731d52d3987b to check Japanese translation.