将Javascript数组转换为python列表?

Mes*_*sci 3 python

我想制作谷歌trasnlate脚本.我正在请求translate.google.com和google返回一个数组,但该数组包含未定义的项目.您可以将响应视为字符串.我可以删除逗号,如果连续多个正则表达式等,但我看起来最好的解决方案:)

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

["a","b",,,"e"]
Run Code Online (Sandbox Code Playgroud)

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

Tad*_*eck 15

JavaScript部分 - 编码

在Javascript中你做:

var arr = ["a","b",,,"e"];
var json_string = JSON.stringify(arr);
Run Code Online (Sandbox Code Playgroud)

然后你以某种方式从JavaScript 传递json_string(现在等于" ["a","b",null,null,"e"]"字符串)到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)
Run Code Online (Sandbox Code Playgroud)

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

更多链接

见下文:

依赖

以上解决方案要求:

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

因此,简而言之,没有外部依赖.