一尘不染

如何将原始javascript对象转换为python字典?

json

当屏幕抓取某些网站时,我从<script>标签中提取数据。
我得到的数据不是标准JSON格式。我不能使用json.loads()

# from
js_obj = '{x:1, y:2, z:3}'

# to
py_obj = {'x':1, 'y':2, 'z':3}

目前,我用于regex将原始数据转换为JSON格式。
但是,当我遇到复杂的数据结构时,我感到非常糟糕。

您有更好的解决方案吗?


阅读 290

收藏
2020-07-27

共1个答案

一尘不染

demjson.decode()

import demjson

# from
js_obj = '{x:1, y:2, z:3}'

# to
py_obj = demjson.decode(js_obj)

jsonnet.evaluate_snippet()

import json, _jsonnet

# from
js_obj = '{x:1, y:2, z:3}'

# to
py_obj = json.loads(_jsonnet.evaluate_snippet('snippet', js_obj))

ast.literal_eval()

import ast

# from
js_obj = "{'x':1, 'y':2, 'z':3}"

# to
py_obj = ast.literal_eval(js_obj)
2020-07-27