两个函数:
loads(param)
loads(param)是将文本字符串转换为json对象的函数,其函数名是load string 的缩写,意思是加载字符串。所以其参数param必须要是一个字典型的字符串。且字典的键必须用双引号来包裹。
dumps(param)
dumps(param)是将json数据对象转换为文本字符串的函数,其函数名是dump string 的缩写,意思是输出字符串,所以其参数param必须要是json对象,也就是loads()函数返回的数据类型。
接口数据:
"data": {
"order_number": "2021060410425310728996",
"student_id": 18,
"pay_type": 1,
"total_pay": 0.03,
"checked_exam_list": [{
"id": 1,
"exam_id": 10001,
"result_type": 0
}]
}
接口代码:
if checked_exam_list is not None:
checked_exams = json.loads(checked_exam_list)
报错信息:
"data": {
"code": -9,
"message": "the JSON object must be str, bytes or bytearray, not list"
},
debug:
checked_exam_list已经是json格式,loads的参数必须要是一个字典型的字符串
补充:json的两种格式:
1)对象格式:{“key1”:obj,“key2”:obj,“key3”:obj…}
2)数组/集合格式:[obj,obj,obj…]
例如:user对象用json数据格式表示
{“username”:“zhangsan”,“age”:28,“password”:“123”,“addr”:“北京”}
List 用json数据格式表示
[{“pid”:“10”,“pname”:“小米4C”},{},{}]
只要是对象就用{括起来},只要是集合就用【】括起来
注意:对象格式和数组格式可以互相嵌套,一个对象中的一个属性可以是一个集合或数组