[英]JSON.parse gives unexpected token error
調用api時會收到此數據
[{"DispatchNo":"xxxxx","DispatchDate":"xxxxxxx","Complete":"xxx","CustomerID":"xxxxx","Name":"xxxxxx","Contact":"","Phone":"xxxxx","ShipPhone":"xxxx","PurchaseOrder":"xxxx","OrderLoads":"5","OrderQty":"125","FreightUnitID":"x
我的controoller.js代碼指示失敗是:
var jsonString = result.data.replace(/\\/g, "\\");
var orderFromApex = JSON.parse(jsonString);
orderFromApex = orderFromApex.substring(0);
console.log(orderFromApex);
//orderFromApex += '"';
orderFromApex = JSON.parse(orderFromApex);
console.log(orderFromApex);
我收到錯誤SyntaxError:JSON中的意外令牌C,位於JSON.parse()的位置898,我認為它在orderFromApex = JSON.parse(orderFromApex)處失敗。 我也是在上面發布的控制台記錄orderFromApex。 到底是怎么回事? 我的JSON響應有問題嗎?
您的API似乎無法正確轉義字符。 "
,例如在未關閉的字符串中出現未轉義的字符,然后應將其關閉。
{"example": "Hello "World"!"}
應該改為{"example": "Hello \\"World\\"!"}
。
嘗試解析第一個示例將SyntaxError: Unexpected token W in JSON at position 20
拋出SyntaxError: Unexpected token W in JSON at position 20
。 這是因為解析器將在World
之前查看"
並認為哦,字符串已經結束了,這之后奇怪的W
在做什么?” 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.