簡體   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