0

我正在做一些网络抓取,需要解析多个 javascript 对象以列出它们的特定属性。我面临的问题是 execjs 将我的 JS 对象视为字符串。有什么办法可以绕过它吗?这是我的示例代码(真实代码具有更多属性)。

import execjs
car1 = "{type:'Mazda', model:5, color:'white'}"
attr = execjs.compile("""
    function car_type(x) {var temp = x; return temp.type;}
""")

print(attr.call("car_type",car1))

结果我得到“无”。我使用'typeof'来识别我的'temp'变量,它是'string'而不是对象:| ...

在此先感谢您的任何建议!

4

1 回答 1

1

将您的 var car1 从字符串转换为 python dict,您的代码将正常工作

car1 = {"type":'Mazda', "model":5, "color":'white'}
于 2015-10-19T14:34:06.693 回答