#author("2023-09-28T13:05:47+08:00","default:Admin","Admin") #author("2023-09-28T13:19:23+08:00","default:Admin","Admin") [[Python]] &color(red){※This article is based on Python 3.7.3}; #contents * dumps [#wd90773f] json.dumps()是json模块中最常用的函数之一,用于将一个python对象序列化为json编码字符串。函数原型如下: json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) #codeprettify{{ import json data = { "name": "张三", "age": 18, "hobbies": ["reading", "music"], "info": { "address": "北京市朝阳区", "phone": "18888888888" } } json_str = json.dumps(data, ensure_ascii=False, indent=4) print(json_str) }} * load [#q555d6c3] son.loads()是json模块中另一个常用的函数,用于将一个json编码的字符串解码为python对象。函数原型如下: json.loads(s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw) #codeprettify{{ import json json_str = ''' { "name": "李四", "age": 25, "hobbies": ["swimming", "playing games"], "info": { "address": "上海市黄浦区", "phone": "16666666666" } } ''' data = json.loads(json_str) #结果:<class 'dict'> print(type(data)) #结果:李四 print(data["name"]) }} * Troubleshooting [#eaf32e82] ** Invalid \escape [#i74eb228] 错误现象: json.decoder.JSONDecodeError: Invalid \escape: line 3 column 22 (char 45) 原因: 在 Python 代码中使用正确的解码方式来解码 JSON 数据。例如,如果 JSON 数据使用了 UTF-8 编码,那么在 Python 代码中使用 json.loads(data, encoding='utf-8') 来解码数据。 对策 json_str = json_str.replace('\\', '\\\\') ** Expecting property name enclosed in double quotes [#hcd9f825] 错误现象: json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes json文件的最后项目的结果不能有逗号 #hr(); コメント: #comment_kcaptcha