一个快速、简单的语法分析器,用于处理严重损坏的json
jsom的Python项目详细描述
jsom-不完全是json,但足够接近
jsom
是一个简单而快速的python 3.7+解析器,用于处理严重损坏的json。
安装
$ pip install jsom
用法
jsom
工作方式如下:
>>>importjsom>>>broken_json="{\"foo\": {bar: 1, 'baz':,}, bar: 1, baz: [1,2,3,],}")>>>jsom.JsomParser(ignore_warnings=jsom.ALL_WARNINGS).loads(broken_json){'foo':{'bar':1,'baz':None},'bar':1,'baz':[1,2,3]}
jsom
高兴地狼吞虎咽地吃下以下东西:
- 不带引号的键和值
- 单引号字符串
- 尾随逗号
- 对象中的空值
默认情况下,当它看到其中一个时,它会发出警告,但仍然会解析它。
它也不在乎:
- 字符串中的换行符
- 杂散反斜杠
你永远不会被警告的。'\(12484;)'/'
不过,警告很烦人,更糟糕的是,它们会减慢
语法分析器关闭-所以只需传入希望jsom
保持安静的警告列表
关于ignore_warnings
参数:
parser = JsomParser(
ignore_warnings=[jsom.SINGLE_QUOTED_STRING, jsom.EMPTY_OBJECT_VALUE]
)
或者,如果你愿意的话,让它完全闭嘴,顺便进来
jsom.ALL_WARNINGS
。
许可证
jsom
是按照的条款分发的,做你想做的事
公共许可证(wtfpl):
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.