繁体   English   中英

JSON.parse:JavaScript中出现意外字符错误

[英]JSON.parse: Unexpected character error in Javascript

我正在尝试解析将从Java会话变量中获取的JSON。 我正在使用这样的代码:

var foo1 = <%= session.getAttribute("json").toString() %>
var foo = JSON.parse(foo1.toString());
alert(foo.toString());

(是的,我知道scriptlet不好,但这只是暂时的)。 我通过foo1获得的值是有效的JSON(我已通过在线验证程序进行了验证)。 但是,当我尝试警告foo1我将其获取为[object,Object],但如果尝试解析, JSON.parse:Unexcpected character得到JSON.parse:Unexcpected character错误。

我已经在这里上传了JSON,如果需要的话。 由于这是一个很大的json字符串,因此我无法在此处发布。

有人可以帮我知道我在做什么错吗? 总而言之,我试图从Java会话变量获取JSON String并尝试在Javascript中解析它。 任何有关如何执行此操作的提示,将不胜感激。

尝试这样的事情

var foo = <%= session.getAttribute("json").toString() %>
alert(foo.toString());

原因:您已经在获取json对象,因此无需解析。

var obj = {id:1};    // No need to parse
var obj = "{id:1}"; // Need to parse

在您的情况下, foo1不是字符串,而是一个JSON对象! 那是因为您没有为其分配字符串文字,而是为javascript-object-structure。

假设"json"属性的字符串值为{ name: "Jack", age: 25 } 现在,在完成JSP处理之后,客户端将收到以下信息:

var foo1 = { name: "Jack", age: 25 }

您可能期望的是:

var foo1 = "{ name: \"Jack\", age: 25 }"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM