JavaScript错误“Uncaught SyntaxError: Unexpected end of JSON input”的解决方法

 2025-01-15  阅读 338  评论 5  点赞 322

摘要:描述javascript报错“Uncaught SyntaxError: Unexpected end of JSON input”的原因和解决方法。在非json格式的空数组上执行“JSON.parse”时发生。错误内容出现在以下对空数组执行“JSON.parse”的代码中。const arr = []; console.log(JSON.parse(arr));错误信息Uncaught S

描述javascript报错“Uncaught SyntaxError: Unexpected end of JSON input”的原因和解决方法。

在非json格式的空数组上执行“JSON.parse”时发生。

JavaScript错误“Uncaught SyntaxError: Unexpected end of JSON input”的解决方法

错误内容

出现在以下对空数组执行“JSON.parse”的代码中。

const arr = [];

console.log(JSON.parse(arr));

错误信息

Uncaught SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

JavaScript错误“Uncaught SyntaxError: Unexpected end of JSON input”的解决方法

原因

因为您对“无效的JSON”使用“JSON.parse”

解决方案

使用“try-catch”来处理错误

const arr = [];

try {

  JSON.parse(arr);

} catch (err) {

  console.log(err);

}

console.log('finish');

执行结果

JavaScript错误“Uncaught SyntaxError: Unexpected end of JSON input”的解决方法

或者在使用“JSON.stringify()”转换为 JSON 数据后使用。

const arr = [];

console.log( JSON.parse(JSON.stringify(arr)) );
// []

顺便说一句,对于具有元素而不是空数组的数组,会发生以下错误。

const arr = ["a","b","c"];

console.log(JSON.parse(arr));
// Uncaught SyntaxError: Unexpected token 'a', "a,b,c" is not valid JSON at JSON.parse (<anonymous>)

const arr2 = [1,2,3];

console.log(JSON.parse(arr2));
// Uncaught SyntaxError: Unexpected non-whitespace character after JSON at position 1 at JSON.parse (<anonymous>)


评论列表:

显示更多评论

发表评论:

管理员

承接各种程序开发,外贸网站代运营,外贸网站建设等项目
  • 内容2460
  • 积分67666
  • 金币86666

Copyright © 2024 LS'Blog-保定PHP程序员老宋个人博客 Inc. 保留所有权利。 Powered by LS'blog 3.0.3

页面耗时0.0279秒, 内存占用1.93 MB, 访问数据库27次

冀ICP备19034377号