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

BQ加载含空数组的JSON文件失败,请求技术协助

解决JSON解析错误:No object found when new array is started.

首先我得说,你提供的这段JSON本身是完全合法的——空数组[]并不是导致错误的原因。我用Python的标准json模块测试过,这段字符串能正常解析,所以问题肯定出在其他环节上。

先把你的问题信息整理清楚:

尝试加载的JSON内容:

{"house_account_payable":"0.00","house_account_receivable":"0.00","gift_sales_payable":"0.00","gift_sales_receivable":"0.00","store_credit_sales_payable":"0.00","percentage_row":null,"sales_per_period":[["02:00AM - 02:59AM",{"amount":0,"qty":0}],["03:00AM - 03:59AM",{"amount":0,"qty":0}]],"revenue_centers":[],"tax_breakdowns":[]}

遇到的错误:
读取表test2时出错,错误信息为Failed to parse JSON: No object found when new array is started.; BeginArray returned false; Parser terminated before end of string

接下来给你几个排查方向和解决步骤:

1. 检查文件是否被完整读取

错误提示里的Parser terminated before end of string是关键——说明解析器拿到的JSON字符串不完整,大概率是文件读取时只读取了部分内容就停止了。

  • 如果是用代码读取文件,比如Python里误用readline()而非read(),或者Java里的BufferedReader没读到文件末尾,都会导致这种问题。你可以先把文件内容完整复制出来,用下面的测试代码跑一遍,如果能正常解析,就说明是读取逻辑的问题:
import json

# 把复制出来的JSON内容放到这里
json_content = '''{"house_account_payable":"0.00","house_account_receivable":"0.00","gift_sales_payable":"0.00","gift_sales_receivable":"0.00","store_credit_sales_payable":"0.00","percentage_row":null,"sales_per_period":[["02:00AM - 02:59AM",{"amount":0,"qty":0}],["03:00AM - 03:59AM",{"amount":0,"qty":0}]],"revenue_centers":[],"tax_breakdowns":[]}'''

try:
    parsed_data = json.loads(json_content)
    print("✅ JSON解析成功!")
    print(f"空数组revenue_centers内容:{parsed_data['revenue_centers']}")
    print(f"空数组tax_breakdowns内容:{parsed_data['tax_breakdowns']}")
except Exception as e:
    print(f"❌ 解析失败:{str(e)}")

2. 检查文件中是否存在隐藏的非法字符

有时候文件里会混入一些不可见的ASCII控制字符(比如换行符、制表符之外的奇怪字符),这些字符肉眼看不到,但会干扰解析器。

  • 你可以用专业文本编辑器(比如Notepad++、VS Code)打开文件,开启“显示所有字符”的功能(Notepad++里是「视图」→「显示符号」→「显示所有字符」),仔细检查空数组[]附近以及文件末尾,看看有没有多余的奇怪字符,比如^@、^M这类控制字符,找到后删除即可。

3. 检查解析工具/库的版本兼容性

如果你是用数据库(比如MySQL、PostgreSQL)的JSON解析功能读取这个文件,某些旧版本的数据库对空数组的处理可能存在bug。

  • 尝试升级数据库版本,或者换用另一种解析方式(比如先把文件内容读取到应用程序中解析,再插入数据库)。

总结

你提供的JSON本身没有问题,空数组revenue_centers:[]和tax_breakdowns:[]是完全符合JSON规范的。最可能的原因是文件读取不完整或者文件包含隐藏非法字符,按照上面的步骤排查应该能解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 13:09:10