我正在使用节点并向第三方api请求js到get
一个json对象。当我尝试parse
数据时出现错误:
SyntaxError: Unexpected token
然后我尝试解析前端应用程序中的数据,导致以下错误(请参阅令牌后面的空格):
SyntaxError: Unexpected token in JSON at position 294512
所以我试图通过Postman运行它,看看有什么问题。返回的JSON似乎有效,我也通过JSON验证器运行我没有问题。
在调查结果后,我发现一个属性(文档类型)在double qoutes中总是有一个空格:
{
"F24434": {
"Posting Date": "29-10-12",
"Open": "No",
"On Hold": "",
"Document Type": " ",
"External Document No.": "",
"Due Date": "29-10-12",
"Description": "xxxx",
"Order No.": "",
"Currency Code": "DKK",
"Remaining Amount": "0",
"Original Amount": "0",
"Amount": "0",
"User ID": "xxx",
"Systemdato": "29-10-12",
"Entry No.": "607121",
"Vessel No.": "",
"Port No.": ""
}
}
我不确定这是否会导致问题,还是其他问题?
不幸的是我无法直接访问API,所以我无法改变我构建数据的方式。
解决方案 事实证明,它是双引号内的空白。解决方案是在解析之前删除所有空格:
.replace(/\s/g, '');