PythonでJSONを受けてJSONを返す
pythonは標準でhttpサーバーが入っているということで、触ってみた。
送信するJSON
{"user" : "test", "type" : "test", "params" : {"id" : 1234, "data" : 5}}
ソース(jsonResponseServer.py)
import sys import json import random from http.server import BaseHTTPRequestHandler, HTTPServer class JsonResponseHandler(BaseHTTPRequestHandler): def do_POST(self): content_len = int(self.headers.get('content-length')) requestBody = self.rfile.read(content_len).decode('UTF-8') print('JSON=' + requestBody) # requestBody = '{"user" : "test", "params" : {"id" : 123, "data" : 5}}' jsonData = json.loads(requestBody) user = jsonData['user'] id = jsonData['params']['id'] data = jsonData['params']['data'] print('user=' + user) print('id=' + str(id)) print('data=' + str(data)) self.send_response(200) self.send_header('Content-type', 'text/json') self.end_headers() responseValue = random.random() * 10 responseData = json.dumps({'data': responseValue}) self.wfile.write(responseData.encode('UTF-8')) server = HTTPServer(('', 8000), JsonResponseHandler) server.serve_forever()
以下のコマンドで実行。
python3 jsonResponseServer.py