天天看點

tornado 中讀取json檔案

tornado 中讀取json檔案

1、在postman中向伺服器發送JSON格式的字元串
tornado 中讀取json檔案
2、擷取并解析JSON格式的字元串
  • 擷取json格式的字元串
    • 擷取二進制碼 json_byte = self.request.body
    • 轉換成json字元串 json_str = json_byte.decode(‘utf8’)
  • 解析json格式的字元串
    • 導入 json 子產品 import json
    • 擷取json對象 json_ojb = json.loads(json_str)
    • 根據 json 的鍵取值 value = json_obj.get(‘key’, ‘’)
import json
import tornado
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from tornado.options import define, options, parse_config_file
from tornado.web import Application, RequestHandler, url

class JsonHandler(RequestHandler):
    def get(self, *args, **kwargs):
        self.write('json page')

    def post(self, *args, **kwargs):
        self.write('json post page')
        # 擷取json的字元串
        json_byte = self.request.body #  擷取json的二進制字元串
        json_str = json_byte.decode('utf-8')  # 二進制解碼
        print(json_str)
		
	# 解析json的内容
	json_obj = json.loads(json_str) # json格式的字元串轉換成json對象
        name = json_obj.get('name', '')
        age = json_obj.get('age', '')
        print(name, age)

define('port', type=int, default=10000, multiple=False)
define('db',multiple=True, type=str, default=[],)
parse_config_file('config')

url_list = [('/json', JsonHandler)]

app = Application(url_list)
server = HTTPServer(app)
server.listen(options.port)
IOLoop.current().start()