[英]Angular / Spring Boot | error: SyntaxError: “JSON.parse: unexpected character at line 1 column 1 of the JSON data”
[英]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.