1. 标准库:json
1.1 参数说明
参数 |
说明 |
skipkeys |
如果为True 的话,则只能是字典对象,否则会TypeError 错误, 默认False |
ensure_ascii |
确定是否为ASCII编码,设置True 时,汉字会正常显示 |
check_circular |
循环类型检查,如果为True 的话 |
allow_nan |
确定是否为允许的值 |
indent |
当设置True 时,会以美观的方式来打印Json |
separators |
对象分隔符,默认为, |
sort_keys |
当设置True 字时,字典对象会按照键的ASCII码 来排序 |
if __name__ == '__main__': print("-------------- 以默认形式打印 --------------") mapVar = {"name": "张三", "age": 28, "gender": "男", "home": "北京"} # 以默认形式打印 print(json.dumps(mapVar)) # 以美观的形式打印 print("-------------- 以美观的形式打印 --------------") print(json.dumps(mapVar, indent=True, ensure_ascii=False)) # 当设置True字时,字典对象会按照键的ASCII码来排序 print("-------------- 字典对象会按照键ASCII码来排序 --------------") print(json.dumps(mapVar, indent=True, ensure_ascii=False, sort_keys=True)) # ************************** 输出 ************************** -------------- 以默认形式打印 -------------- {"name": "\u5f20\u4e09", "age": 28, "gender": "\u7537", "home": "\u5317\u4eac"} -------------- 以美观的形式打印 -------------- { "name": "张三", "age": 28, "gender": "男", "home": "北京" } -------------- 字典对象会按照键ASCII码来排序 -------------- { "age": 28, "gender": "男", "home": "北京", "name": "张三" }
1.2 变量转Json
import json if __name__ == '__main__': listVar = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 列表转json print('列表转json:', json.dumps(listVar)) # map 转json mapVar = {'name': '张三', 'age': 18} print('map转json:', json.dumps(mapVar)) print('map转json-汉字不转义:', json.dumps(mapVar, ensure_ascii=False)) # 列表map转json listMapVar = [ {'name': '张三', 'age': 18}, {'name': '李四', 'age': 33}, {'name': '王五', 'age': 20}, ] print('列表map转json:', json.dumps(listMapVar, ensure_ascii=False)) # ----------------- 输出 --------------------- 列表转json: [1, 2, 3, 4, 5, 6, 7, 8, 9] map转json: {"name": "\u5f20\u4e09", "age": 18} map转json-汉字不转义: {"name": "张三", "age": 18} 列表map转json: [{"name": "张三", "age": 18}, {"name": "李四", "age": 33}, {"name": "王五", "age": 20}]
1.3 Json转变量
import json if __name__ == '__main__': # json转列表 listJsonStr = '[1, 2, 3, 4, 5, 6, 7, 8, 9]'