Skip to main content
 首页 » 编程设计

python:是否有比内置版本更强大的json版本

2025年05月04日17zhoujg

我为 python 2.6 使用内置的 json。我在解析这样的 json 时遇到了很多麻烦:

{ 
 name: 'some name' 
 value: 'some value' 
} 

我找到了两个原因——

  1. ' 不起作用。你需要 "
  2. 字典的键必须是字符串。即 "name"/"value"

我错过了什么吗?有没有办法使用 json 包来解析这种字典?是否有任何其他 python 包可以解析它?

谢谢

请您参考如下方法:

我认为您想要的不是“更强大”的解析器,而是可以解析损坏代码的损坏的解析器。参见 the standard

具体来说,

  • 对象的键定义为字符串

  • 字符串被定义为 ""或 "chars",其中 chars 具有非常明显的含义

在互联网上的某个地方,您可以看到道格拉斯·克罗克福德 (Douglass Crockford) 就为什么会出现这种情况发表半诙谐的评论。不过,它与非 JavaScript 语言的兼容性有关。具体来说,你不能有

{name :'some name', value: 'some value'}  

作为 python 中的字典,除非 name 和 some value 是预先存在的、可散列的变量;

一般来说,损坏的解析器是不好的。只要看看浏览器中损坏的 HTML 解析器所造成的困惑,任何白痴都可以在其中创建网站。那个写了所有那些 RFC 的家伙错了:最好严格控制你发出的和你接受的东西。