| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 
 | 什么是demjson?此模块提供用于编码或解码数据的类和函数。这个实现试图尽可能符合JSON规范(RFC 4627),同时仍然提供许多可选的扩展,以允许限制较少的JavaScript语法。它包括完整的Unicode支持,包括UTF-32、BOM和代理项对处理。它还可以支持JavaScript的NaN和无限数值类型,以及它的“undefined”类型。它还包括一个类似lint的JSON语法验证器,用于测试JSON文本是否严格符合标准。
 
 官方文档:https://pypi.org/project/demjson/1.6/
 
 为什么json库不能用?
 python中json模块能解析的对象格式是有限的,查看下面这三种格式,唯独第三种可以用json.loads方法。
 
 
 js_json1 = "{x:1, y:2, z:3}"
 
 
 py_json1 = "{'x':1, 'y':2, 'z':3}"
 
 
 
 py_json2 = '{"x":1, "y":2, "z":3}'
 
 
 demjson的安装:
 pip3 install demjson -i https://pypi.douban.com/simple
 
 上面json模块无法解析的情况,demjson都能搞定:
 import demjson
 
 js_json = "{x:1, y:2, z:3}"
 
 py_json1 = "{'x':1, 'y':2, 'z':3}"
 
 py_json2 = '{"x":1, "y":2, "z":3}'
 
 data = demjson.decode(js_json)
 print(data)
 
 
 data = demjson.decode(py_json1)
 print(data)
 
 
 data = demjson.decode(py_json2)
 print(data)
 
 demjson的decode 和encode方法:
 encode	将 Python 对象编码成 JSON 字符串
 decode
 将已编码的 JSON 字符串解码为 Python 对象
 
 代码示例:
 import demjson
 
 data = [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}]
 print(demjson.encode(data))
 
 json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
 print(demjson.decode(json))
 
 |