当对某些网站进行屏幕抓取时,我从 <script>
中提取数据标签。
我得到的数据不符合标准 JSON
格式。我不能使用 json.loads()
.
# from
js_obj = '{x:1, y:2, z:3}'
# to
py_obj = {'x':1, 'y':2, 'z':3}
目前,我使用 regex
将原始数据转换为 JSON
格式。
但是当我遇到复杂的数据结构时,我感觉很糟糕。
你有更好的解决方案吗?
最佳答案
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)
关于javascript - 如何将原始 javascript 对象转换为字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24027589/