将此java代码转换为javascript

时间:2012-12-04 01:35:35

标签: java javascript json

我使用各种方法将数组从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]);
}

2 个答案:

答案 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);