4

我想做谷歌翻译脚本。我正在向 translate.google.com 发出请求,谷歌返回一个数组,但该数组包含未定义的项目。您可以想象响应以字符串形式出现。如果有多个连续的正则表达式等,我可以删除逗号,但我正在寻找最佳解决方案:)

如何将此 javascript 数组转换为 python 列表?

["a","b",,,"e"]

我的脚本:http: //ideone.com/jhjZe

4

1 回答 1

20

JavaScript 部分 - 编码

在 Javascript 中,您可以:

var arr = ["a","b",,,"e"];
var json_string = JSON.stringify(arr);

然后你以某种方式将json_string(现在等于“ ["a","b",null,null,"e"]”字符串)从 JavaScript 传递到 Python。

Python部分——解码

然后,在 Python 方面做:

json_string = '["a","b",null,null,"e"]'  # passed from JavaScript

try:
    import simplejson as json
except (ImportError,):
    import json

result = json.loads(json_string)

结果你得到[u'a', u'b', None, None, u'e']了 Python。

更多链接

见下文:

依赖项

上述解决方案需要:

  • JSON.stringify()在 JavaScript 中,它在所有移动浏览器、Chrome、Firefox、Opera、Safari 和 IE 中,从 8.0 版开始(更详细的兼容浏览器列表在这里),
  • jsonPython 库(上面的代码将simplejson可选地使用,如果可用,但不是必需的),它在标准库中,

所以,简而言之,没有外部依赖

于 2012-05-17T19:06:24.870 回答