Django web 开发 - python中json数据返回
方法1
# -*- coding: utf-8 -*-
class BaseResponse:
def __init__(self, data, message=None, code=200):
self.code = code
self.data = data
self.message = message
print(BaseResponse(data="Hello World").__dict__)
方法2
#pip install demjson
import demjson
data = [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}]
# python object => json object
json = demjson.encode(data)
print(json)
"""
:return [{"a":1,"b":2,"c":3,"d":4,"e":5}]
"""
# json object => python object
json = demjson.decode(json)
print(json)
"""
:return [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}]
"""
方法3
#!/usr/bin/python
import json
data = [{'name': '张三', 'age': 25}, {'name': '李四', 'age': 26}]
# python object => json object
jsonStr = json.dumps(data, ensure_ascii=False)
print(jsonStr, type(jsonStr))
"""
:return [{"name": "张三", "age": 25}, {"name": "李四", "age": 26}] <class 'str'>
"""
# json object => python object
StrJson = json.loads(jsonStr)
print(StrJson, type(StrJson))
"""
:return [{'name': '张三', 'age': 25}, {'name': '李四', 'age': 26}] <class 'list'>
"""
方法4
class BaseResponse:
def __init__(self, data, message=None, code=200):
self.code = code
self.data = data
self.message = message
def __str__(self):
return {
"code": self.code,
"data": self.data,
"message": self.message
}
print(BaseResponse(data="Hello World").__str__())
其他
- djnago的http的
JsonResponse
方法,其中的safe
为False
drf
的序列化器- 其他
django
的其他第三方包 drf
的其他第三方包,及内置函数- 本人才疏学浅,只懂点皮毛,若存在其他内容,请自行百度