在Java中的json响应中创建javascript数组

在Java中的json响应中创建javascript数组,javascript,arrays,json,servlets,response,Javascript,Arrays,Json,Servlets,Response,我有一个servlet,在其中发送JSON响应(返回javascript)。例如,我的回答如下 { "responseStr":"1,5,119.8406677,7,7,116.5664291,10,10,116.6099319,20,10,117.2185898,25,3,115.2636185" } 现在正在发生的事情是,我正在servlet中收集数据(上面的数字),并以JSON响应的形式将其作为字符串发送,其中包含逗号分隔的值。当这个响应到达前端时,所有这些数字都必须放在一个ja

我有一个servlet,在其中发送JSON响应(返回javascript)。例如,我的回答如下

{
    "responseStr":"1,5,119.8406677,7,7,116.5664291,10,10,116.6099319,20,10,117.2185898,25,3,115.2636185"
}
现在正在发生的事情是,我正在servlet中收集数据(上面的数字),并以JSON响应的形式将其作为字符串发送,其中包含逗号分隔的值。当这个响应到达前端时,所有这些数字都必须放在一个javascript数组中(我在这里做进一步的逻辑)。目前我正在做这件事

var res = JSON.parse(REQ.responseText);         
var myArr = res.responseStr.split(',');
我的想法是,第二行(我使用split())在我的应用程序中造成了瓶颈。上面示例中的几个数据点不是问题,但当我有数千个数据点时,它就成了问题

所以我的问题是,当我在servlet中创建响应时,有没有一种方法可以将响应创建为javascript数组,这样我就不必使用split()?
实现上述将响应转换为javascript数组任务的更好方法是什么?

如果您将
responsest
作为数组发送,当JSON解析它时,它将是一个数组。因此,您可以将JSON响应发送为“[1,2,3,4,5,6,7]”等等,当您使用JSON.parse时,它将返回一个数组

更清楚地说:

var arr = [1,2,3,4,5];
arr = JSON.stringify(arr); // "[1,2,3,4,5]" -- String
arr = JSON.parse(arr); // [1,2,3,4,5] -- Array

在响应中,设置内容类型
JSON/application
,并发送JSON数组

{
    "responseStr":["1","5","119.8406677","7","7","116.5664291","10","10","116.6099319","20","10","117.2185898","25","3","115.2636185"]
}
然后在JavaScript中,您可以简单地使用():


你可以利用它完成各种任务。

这是一个很好的问题。JSON可以简单地返回数组

{“responsest”:[[1]、[2]、[3]、[4]}

除非希望双引号作为字符串,否则不需要双引号

还有一件事,你也可以有多维数组

{“responsest”:[[1,10],[2,20],[3,30],[4,40]}

此链接是一个很好的参考:

var myArray = responseJSONObject.responseStr;