将 python 变量与 execjs 对象一起使用

Using python variable with execjs objects

我正在做一些网络抓取,需要解析多个 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))

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

提前感谢您的任何建议!

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

car1 = {"type":'Mazda', "model":5, "color":'white'}