2010-09-11 55 views
5

如何将JavaScript变量(非JSON格式)转换为python变量?用Python解析JavaScript变量

例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"], 
} 
+0

你可能想说,如果说,“JavaScript变量”被存储在一个Python字符串或没有。 – 2010-09-13 04:23:24

回答

4

这种格式看起来就像在this question输入。尝试调整我发布在那里的pyparsing解析器。

1

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

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

例如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"]} 

可以通过蟒蛇JSON模块读取,这样的问题是从哪里你得到JavaScript和为什么你不能将其转换为JSON?

编辑:如果javascript的源代码完全不在您的控制范围内,您可以使用javascript作为命令行脚本语言,例如, spidermonkey(在Firefox中使用),rhinoV8(在谷歌浏览器中使用)或Windows WSH上。使用JavaScript解释器,您可以修改JavaScript,对其进行字符串化,然后在需要时使用python进行处理。

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

您也可以尝试python-spidermonkey

+0

如何在Python中将JavaScript变量串化为JSON字符串?我无法控制源变量的格式。它看起来与.html文件中的上述内容完全一样。 – jack 2010-09-13 01:31:40

+0

@jack,请参阅编辑。 – 2010-09-13 04:22:30