-5

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

2 回答 2

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);
于 2012-12-04T01:41:09.217 回答
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);
于 2012-12-04T01:39:33.720 回答