【问题标题】:JSON string not returned properly in JSPJSP 中未正确返回 JSON 字符串
【发布时间】:2016-08-21 07:23:55
【问题描述】:
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"]

有时也会这样

【问题讨论】:

标签: javascript java json jsp


【解决方案1】:

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

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

  2. 或者使用JSON.stringify函数

    alert(JSON.stringify(n));
    

【讨论】:

  • @BineetKumarNayak 欢迎。如果它解决了您的问题,请考虑接受答案。这对面临同样问题的其他人会有所帮助。
【解决方案2】:

这是正常行为。

你可以直接在chrome控制台试试。

  1. 列表项
  2. 转到 chrome
  3. 按 F12
  4. 转到控制台选项卡
  5. 输入命令:alert(["090856","056986"]);
  6. 因此您有以下警告框

【讨论】:

  • 我就是这么想的。但据说他用单引号括起来。
  • 有时它在警报中看起来像 ["090856","056986"]
猜你喜欢
  • 2013-05-29
  • 2011-08-06
  • 2019-01-02
  • 2013-10-07
  • 2014-06-14
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 2017-01-12
相关资源
最近更新 更多