Javascript将对象转换为字符串

时间:2015-08-03 21:40:43

标签: javascript java json string servlets

在服务器端,我使用Java servlet发送一个字符串数组。

在响应标签上,我正确地看到了数据。

在网络选项卡上,在响应标题下,我将预期输出视为:

["John","James","steve"].

但是,在控制台中,当我尝试打印响应变量时,我将其视为:

[ e { 0="J",  1="o",  2="h",  more...},e { 0="J",  1="a",  2="m",  more...},e { 0="s",  1="t",  2="e",  more...}]

如何有效地将其打印为["John","James","steve"]

假设响应数组处于变量响应中,我尝试了:

console.log(JSON.stringify(response[0])
console.log(respponse[0]);
console.log(response[0].toString());

没有打印"John"这个词。

2 个答案:

答案 0 :(得分:0)

你的意思是你想在Servlet端创建一个Json字符串

response.getWriter().append("{[\"John\":\"James\"]}")

答案 1 :(得分:0)

如果我没有误解你的观点,我想你的意思是你有一个包含多个对象的数组,如下所示:

var output = [{ 0: "J", 1: "o", 2: "h", 3: "n" },
              { 0: "J", 1: "a", 2: "m", 3: "e", 4: "s" }, 
              { 0: "S", 1: "t", 2: "e", 3: "v", 4: "e" }
             ];

因此,如果您无法在服务器端执行此操作,则可以使用以下JavaScript执行此操作:

var names = [];

output.forEach(function(name) {
  var con = [];
  for (key in name) {
    if (name.hasOwnProperty(key)) {
      con[+key] = name[key];
    }
  }
  names.push(con.join(''));
});

console.log(names);

names数组将如下:

[ 'John', 'James', 'Steve' ]