You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复区块链文档验证系统'unexpected end of JSON'报错

问题根因

你遇到的报错本质是无签发文档时,documents变量为空字符串/undefined,JSON.parse()无法解析空输入,直接抛出SyntaxError: Unexpected end of JSON input异常。

解决方案

前端EJS侧兼容(快速修复)

修改dashboard.ejs第13行附近的代码,新增解析前校验和异常捕获逻辑,兼容无文档场景:

<% 
let docList = []
// 校验入参合法性,捕获解析异常
try {
  docList = documents?.trim() ? JSON.parse(documents) : []
} catch(err) {
  docList = []
}
console.log('fit', JSON.stringify(docList, null, '\t'))
%>

<!-- 页面渲染逻辑 -->
<% if (docList.length) { %>
  <!-- 原有文档列表渲染代码保持不变 -->
<% } else { %>
  <p>NO DOCUMENT ISSUED</p>
<% } %>

以上代码会在documents为空、格式非法时默认赋值为空数组,渲染时自动显示无文档提示,不会抛出异常打断页面渲染。

后端侧优化(根源解决)

调整后端返回逻辑,用户无签发文档时,统一返回JSON格式的空数组字符串"[]",而非空值/空字符串,这样前端无需额外兼容即可正常解析。

内容的提问来源于stack exchange,提问作者fit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:27:02