将 python 字典转换为 JavaScript 对象字面量

mic*_*bob 5 python json

使用 json.dumps 我可以将字典转换为 json 格式,如下所示:

>>> from json import dumps
>>> dumps({'height': 100, 'title': 'some great title'})
'{"title": "some great title", "height": 100}'
Run Code Online (Sandbox Code Playgroud)

但是,我希望将我的字典转换为 javascript 文字,如下所示:

{title: "some great title", height: 100}
Run Code Online (Sandbox Code Playgroud)

(请注意,标题和高度周围没有双引号。)

有Python库可以做到这一点吗?

Fil*_*zak 0

肮脏的黑客,但可以工作:子类 JSONEncoder 并覆盖 _iterencode_dict 方法,以便它生成您想要的格式的密钥。在python3.3中,它位于json.encoder模块的第367行yield中_encoder(key)。您可能想要复制整个方法并将这一行更改为类似yield key if isinstance(key, str) else _encoder(key).

再说一遍——这真的很脏,除非你别无选择——不要这样做。虽然这是可行的,但如果您确实需要的话,值得了解一下。