在JSP中未正确返回JSON字符串

时间:2016-04-27 06:46:37

标签: javascript java json jsp

String json1 = new Gson().toJson(list);
System.out.println(json1);
request.getSession().setAttribute("json1", json1);

我检查了它打印的日志字符串:["090856","056986"]

在JSP中,我在脚本

中写了一些内容
var n = '<%= session.getAttribute("json1") %>';
alert(n);

警告显示090856,056986

为什么这种行为不应显示["090856","056986"]

有时也会出现这样的情况

Alert Message

2 个答案:

答案 0 :(得分:2)

这是正常行为。

您可以直接在Chrome控制台中试用。

  1. 列表项
  2. 转到chrome
  3. 按F12
  4. 转到“控制台”标签
  5. 输入命令:alert([“090856”,“056986”]);
  6. 因此,您有以下警告框
  7. enter image description here

答案 1 :(得分:1)

您的代码没有任何问题。 警告正在显示时修改字符串。

  1. 使用console.log(n)测试您的json字符串。

  2. 或使用 JSON.stringify 功能

    alert(JSON.stringify(n));