向BigQuery表导入JSON文件时遭遇解析错误求助
解决BigQuery导入JSON时的"Unexpected end of string"错误
常见原因及修复方案
- 检查未闭合引号与转义错误
遍历JSON中所有字符串字段,确认每个双引号都正确闭合;字符串内部的双引号必须用\转义。例如错误写法:"title": "BigQuery "Tips"",正确写法:"title": "BigQuery \"Tips\"" - 匹配BigQuery的JSON格式要求
BigQuery默认仅支持JSON Lines格式(每行一个独立JSON对象)。如果你的文件是包含多对象的数组(如[{"id":1},{"id":2}]),有两种处理方式:- 将数组拆分为每行一个对象:
{"id":1} {"id":2} - 导入时指定格式:命令行添加
--format=NEWLINE_DELIMITED_JSON,或在BigQuery控制台"高级选项"中选择"JSON (newline delimited)"
- 将数组拆分为每行一个对象:
- 清理不可见特殊字符
用文本编辑器开启显示不可见字符功能,排查是否存在多余换行符、制表符或空字节。也可通过命令过滤:tr -d '\000' < original.json > cleaned.json - 修复末尾语法问题
确认文件末尾无多余逗号、括号等无效字符。例如数组格式中最后一个对象后不能加逗号:错误写法[{"id":1},],正确写法[{"id":1}]
快速验证手段
用jq命令本地校验JSON有效性:
jq . your_file.json
若jq报错,直接根据提示定位问题;若校验通过,再检查BigQuery的导入配置是否正确。
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

