我想分析JavaScript对象的代码,它包含巨大的JavaScript数组并将其转换为带有列表的Python字典。最快的方法来将JavaScript对象/数组转换为Python字典/列表
在我使用PyYaml的那一刻,但没有直接的工作,因为它不能处理连续的逗号(例如,它打破了关于“[,,, 0,]”以:预期节点内容,但发现',')。所以我把它们取代了,但是这一切都很慢。我想知道您是否有任何人知道更好更快的方式来做到这一点。 JSON解码不起作用,因为JavaScript代码也不是JSON有效。
这是我使用的代码,如上所述,与js_obj为例:
js_obj = "{index: '37',data: [, 1, 2, 3,,,]}"
def repl(match):
content = re.sub(" ", "",match.group(0))
length = len(content) - 1
result = ''
if content[0] == '[':
result = '[""'
length -= 1
after = ','
if content[-1] == ']':
length -= 1
after += '""]'
return result + (',""' * length) + after
py_dict = yaml.load(re.sub('\[? *(, *)+\]?', repl, js_obj))
请看:http://stackoverflow.com/questions/10057375/python-parsing-json-like-javascript-data-structures-w-consecutive-commas – alecxe
是否http://slimit.readthedocs.org/ en/latest /#iterate-over-modify-a-javascript-ast-and-pretty-print-it help? – vsr