Spec-Zone.ru › Elisp

Формат JSON-объектов JSONRPC

JSONRPC JSON-объекты обмениваются в формате Lisp plists (см. Списки свойств): совместимые с JSON plists передаются функциям-диспетчерам и, аналогично, совместимые с JSON plists должны быть переданы jsonrpc-notify, jsonrpc-request, и jsonrpc-async-request.

Для удобства работы со списками свойств, эта библиотека активно использует библиотеку cl-lib (см. cl-lib в Расширения Common Lisp для GNU Emacs Lisp) и рекомендует (но не требует) своим клиентам делать то же самое. Макрос jsonrpc-lambda может использоваться для создания лямбда-функции для разбора JSON-объекта, как в этом примере:

(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)))

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/JSONRPC-JSON-object-format.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API