我使用各种方法将数组从php传输到js,但最好的解决方案是使用
JSON_encode($arr);
并且所有解码方法都失败了 最后我决定手动执行它在JavaScript中收到的数据是这样的:[“208”,“2812”]这个java代码转换为整数数组,但我不知道如何将它转移到javascript
String arr = "[\"208\",\"2507\"]";
//this its the output of him ["208","2507"]
String[] items = arr.replaceAll("\\[", "").replaceAll("\\]", "").split(",");
int[] results = new int[items.length];
for (int i = 0; i < items.length; i++) {
results[i] = Integer.parseInt(items[i]);
}
答案 0 :(得分:1)
给出一个JSON格式的字符串,就像你有:
var arr = "[\"208\",\"2507\"]";
您可以使用以下命令获取实际数组:
var items = JSON.parse(arr);
虽然它包含字符串。将字符串转换为整数:
var results = items.map(function(v){return parseInt(v,10);});
或者在一行中:
var results = JSON.parse(arr).map(function(v){return parseInt(v,10);});
但是如果你需要数组中的项是整数,为什么不首先输出整数而不是字符串:
var arr = "[208,2507]";
然后您只需要:
var results = JSON.parse(arr);
答案 1 :(得分:0)
你真的应该在Java中使用JSON。
在JavaScript中,它应该如下所示:
var arrstring = "[\"208\",\"2507\"]";
var items = JSON.parse(arrstring);
var results = [];
for (var i=0, i<items.length; i++)
results[i] = parseInt(items[i], 10);