一个快速、简单的语法分析器,用于处理严重损坏的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.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在TextView中对齐部分文本   带有iText和eTPKCS11的java PKCS#11签名。dll&SunPKCS11提供程序   java Intellij Idea找不到jar   java Chrome/Firefox和Jetty HTTPS   java我无法打包找不到的JavaFX应用程序模块   多线程Java:排序从异步任务检索的结果   java客户端/服务器socket不能与外部连接一起工作   java如何在单击“下一步”按钮时获取其他详细信息?   java组织。springframework。网状物客户RestTemplate应声明为@Bean,而plain@Autowired抛出错误   java如何绘制javax。摆动将ImageIcon转换为JavaFX。fxml呈现用户界面?   使用for循环的Java跟踪   java如何编码字符串以显示彩色文本(基于字符串中的前缀)   Java保存/打开文件对象   基于java复选框的搜索:使用尽可能多的“”动态生成准备好的语句作为选中复选框的计数   java为什么crawler4j随机挂起?