JSON или JavaScript Object Notation — это легкий формат обмена данными. Людям легко читать и писать. Машины легко разбираются и генерируются. Вызов RPC, выполненный на основе JSON, способен отправлять данные гораздо компактнее и эффективнее, чем обычный вызов RPC на основе XML. Модуль Python jsonrpclib способен создать простой сервер и клиент на основе JSON.
пример
В приведенном ниже примере мы создаем простой сервер JSON и создаем на нем функцию. Эта функция разбивает большой список на меньшие списки, в которых указывается длина аргумента, а также сам аргумент.
# server program from jsonrpclib.SimpleJSONRPCServer import SimpleJSONRPCServer def findlen(*args): res = [] for arg in args: try: lenval = len(arg) except TypeError: lenval = None res.append((lenval, arg)) return res def main(): server = SimpleJSONRPCServer(('localhost', 1006)) server.register_function(findlen) print("Start server") server.serve_forever() if __name__ == '__main__': main() # Call by client from jsonrpclib import Server def main(): conn = Server('http://localhost:1006') print(conn.findlen(('a','x','d','z'), 11, {'Mt. Abu': 1602, 'Mt. Nanda': 3001,'Mt. Kirubu': 102, 'Mt.Nish': 5710})) if __name__ == '__main__': main()
Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод: