用JavaScript将Python字符串转换为数组

Convert Python string to array in JavaScript

本文关键字:转换 数组 字符串 Python JavaScript      更新时间:2023-09-26

我有一个JavaScript脚本,它从Python服务器接收信息。Python服务器输出一个列表,该列表在发送到JavaScript脚本之前被转换为字符串。

我希望能够将接收到的字符串转换为可以使用JavaScript进行索引的表单。以下是Python服务器的输出字符串示例:

var Message = [['Word1A', 'Word1B'], ['Word2A', 'Word2B'], ['Word3A', 'Word3B']];

给定上面的例子,我希望能够将接收到的字符串作为索引数组进行查询:

var x;
for (x in Message) {
    alert(x[0]};

上面的例子应该返回:

Word1A
Word2A
Word3A

对此最好的方法是什么?

您可以简单地使用json Python模块

reply = json.dumps(Message)

以将数组转换为JSON格式的字符串。

然后在客户端使用解码JSON字符串

message = JSON.parse(msg);

您将得到一个2元素数组的数组

这应该可以工作,

var Message = [['Word1A', 'Word1B'], ['Word2A', 'Word2B'], ['Word3A', 'Word3B']];
var x;
for (x in Message) {
    alert(Message[x][0]);
}

根据您下面的评论编辑我的答案,其中表示输入"['Word1A', 'Word1B'], ['Word2A', 'Word2B'], ['Word3A', 'Word3B']"

解决方案是

var Message = "['Word1A', 'Word1B'], ['Word2A', 'Word2B'], ['Word3A', 'Word3B']";
var array = Message.replace(/,|[|]/g, "").split(" ");
for(var x = 0; x < array.length -1; x=x+2){
 alert(array[x].replace("[","").replace("]",""));
}

我必须补充一点,这个解决方案会起作用,但我不太熟悉regex,所以可以实现更优化的解决方案。希望它能有所帮助!