繁体   English   中英

NodeJS JSON.parse抛出错误

[英]NodeJS JSON.parse throwing error

我只是在node.js中使用JSON.parse来获取十六进制ID数组

'["5682940386289d593130ed98","568293fe86289d593130ed97","568293f486289d593130ed96"]'

遇到错误

SyntaxError:意外令牌'。

即使我尝试将数组传递为:

'[5682940386289d593130ed98,568293fe86289d593130ed97,568293f486289d593130ed96]'

它引发错误,

SyntaxError:意外令牌d。

要理解的怪异行为。 关于我在哪里可以读到相同内容的任何建议。

由于某种原因,您的字符串以'开头和结尾,实际上是这样的:

 // run this snippet // to see the error var str = '\\'["5682940386289d593130ed98","568293fe86289d593130ed97","568293f486289d593130ed96"]\\''; try { JSON.parse(str); } catch (err) { console.log(err); snippet.log(err.stack); } 
 <script src="https://tjcrowder.github.io/simple-snippets-console/snippet.js"></script> 

我不知道您如何构建/获取此字符串,但是可以使用以下代码删除结尾的内容并从中开始“

 var str = '\\'["5682940386289d593130ed98","568293fe86289d593130ed97","568293f486289d593130ed96"]\\''; str = str.replace(/^'|'$/g, ''); // remove ' before parsing var obj = JSON.parse(str); snippet.log(JSON.stringify(obj)); 
 <script src="https://tjcrowder.github.io/simple-snippets-console/snippet.js"></script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM