如何将原始的javascript对象转换成字典?

2022-06-21 00:00:00 python json web-scraping javascript

在抓屏时,我会从<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)

相关文章