对于Python有一个“宽松”的JSON解析器吗?在
我一直在获取(手写)JSON文件,例如:
/* This JSON file is created by someone who does not know JSON
And not competent enough to search about "JSON Validators" */
{
/* Hey look!
A honkin' block comment here!
Yeehaw */
"key1": "value1", // Hey look there's a standard-breaking comment here!
"key3": .65, // I'm too lazy to type "0"
"key4": -.75, // That "other" .Net program works anyways...
"key5": [ 1 /* One */, 2 /* Two */, 3 /* Three */, 4 /* Four */],
"key2": "value2", // Whoopsie, forgot to delete the comma here...
}
实际使用那些异常畸形的JSON文件的程序,不知何故并不会对这些错误产生呕吐。顺便说一句,这个程序是用C#编写的。在
我正在用Python编写一些脚本,这些脚本将基于这些JSON文件执行某些操作,但它总是在这些错误上崩溃(正确)。在
我可以手动编辑那些.json文件使之符合标准。。。但是它们太多了,因此太费劲了——更不用说我将不得不继续编辑新的传入JSON文件,呃。在
那么,回到我的问题,是否有一个宽大的JSON解析器可以在不死亡的情况下使用这些格式错误的JSON文件?在
注意:This question只涉及最后一个对象的尾随逗号;它不处理块注释和/或内联注释。在
编辑:什么是。。。我刚收到一个JSON文件,其中创建者决定删除0的前导零<;numbers<;1。。。-_-在
我发现了一个嵌入评论的文件。。。:烟红色:
我将更新上面的示例以反映我的附加“发现”。。。在
好吧,所以@warl0ck的评论让我觉得我最好还是编写自己的“JSON预处理器”来完成繁重的清理工作。在
所以,here it is in my BitBucket Snippet,完成一个简单的单元测试。在
我用人类生成的格式错误的JSON文件集对它进行了测试,到目前为止,似乎运行得很好。。。在
如果代码中有错误请告诉我。在
但现在,我很满足。在
相关问题 更多 >
编程相关推荐