使用Python解析JavaScript变量

时间:2010-09-11 06:52:27

标签: javascript python variables

如何将JavaScript变量(不是JSON格式)转换为python变量?

JavaScript变量示例:

{
    title: "TITLE",
    name: "NAME",
    active: false,
    info: {
        key1: "value1",
        dict1: {
            sub_key1: "sub_value1",
            sub_key2: "sub_value2",
        },
        dict2: {
            sub_key3: "sub_value3",
            sub_key4: "sub_value4",
            sub_key5: "sub_value5"
        },
    },
    list1: ["element1", "element2", "element2"],
}

2 个答案:

答案 0 :(得分:4)

此格式与this question中的输入类似。尝试调整我在那里发布的pyparsing解析器。

答案 1 :(得分:1)

将其转换为JSON并在python中读取。

我真的不明白这是什么问题?

e.g。 JSON.stringify给出了

{"title":"TITLE","name":"NAME","active":false,"info":{"key1":"value1","dict1":{"sub_key1":"sub_value1","sub_key2":"sub_value2"},"dict2":{"sub_key3":"sub_value3","sub_key4":"sub_value4","sub_key5":"sub_value5"}},"list1":["element1","element2","element2"]}

python json模块可以读取,所以问题是你从哪里得到javascript以及为什么不能将它转换为JSON?

编辑:如果javascript的源代码完全超出您的控制范围,您可以使用javascript作为命令行脚本语言,例如: spidermonkey(在Firefox中使用),rhinoV8(在Google Chrome中使用)或在Windows WSH上使用。使用javascript解释器,您可以修改javascript,将其字符串化,然后根据需要使用python处理它。

用户已经实施和测试过的解释器比用自己构建解释器更好。

您还可以尝试python-spidermonkey