[英]Uncaught SyntaxError: Unexpected token e when try to parse a JSON string
[英]JSON Parse: Uncaught SyntaxError: Unexpected token e
我試圖解析一個JSON字符串。 這是字符串的內容:
[[ new Date(2016, 2, 11), 439 ],[ new Date(2016, 2, 10), 1110 ],[ new Date(2016, 2, 9), 9 ],[ new Date(2016, 2, 8), 2 ]]
這是代碼
var data = JSON.parse(str);
這是錯誤
未捕獲的SyntaxError:意外的令牌e
我如何准備要由JSON.parse()
解析的字符串?
您需要使用有效的JSON數據類型替換new Date(2016, 2, 11)
2016,2,11)的每個實例。
例如,您可以使用包含ISO 8601數據的字符串或表示自紀元以來的秒數的數字來表示日期。
我用以下方法解決了這個問題:
eval( "data = " + str );
在JavaScript中,構建它是這樣的( http://www.w3schools.com/json/json_syntax.asp )...
// Bear in mind that month 2 = March in JavaScript!
var dte1 = new Date(2016, 2, 11);
var dte2 = new Date(2016, 2, 10);
var dte3 = new Date(2016, 2, 9);
var dte4 = new Date(2016, 2, 8);
var str = '[ ';
str += '{ "d": "' + dte1.toJSON() + '", "n": 439 }, ';
str += '{ "d": "' + dte2.toJSON() + '", "n": 1110 }, ';
str += '{ "d": "' + dte3.toJSON() + '", "n": 9 }, ';
str += '{ "d": "' + dte4.toJSON() + '", "n": 2 } ]';
var data = JSON.parse(str);
alert("Date: " + data[0].d);
alert("Amount: " + data[0].n);
我將它構造為具有屬性d和n的對象數組,以允許您訪問數組中每個對象的日期和數量。 您應該將這些稱為對您的需求更有意義的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.