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

请求排查JSON格式错误:Jsonlint抛出解析异常,提示期望STRING类型却获取到{

JSON解析错误定位与修复方案

我帮你找到了问题所在,咱们来一步步拆解解决:

错误根源

你遇到的Expecting 'STRING', got '{'解析错误,核心原因是**schemaInfo.columns的结构违反了JSON语法规则**:

  • 你原本想在这里定义多列的结构信息,但错误地将columns声明为一个对象(用{}包裹),紧接着又直接放置了另一个独立的列对象{ "name": "name", ... }。按照JSON规范,对象内部只能是键: 值的键值对格式,解析器预期下一个内容是字符串类型的键,结果收到了对象起始符{,因此抛出了错误。
  • 实际上,columns需要存储一组同类型的列信息,正确的结构应该是数组(用[]包裹),数组中的每个元素才是单个列的对象。

修复后的完整JSON

只需要把columns外层的{}替换为[],将三个列对象统一包裹在数组中即可,修复后的代码如下:

{ 
  "checkRid": "ri.data-health.lava-catalog.check.50418784-00c5-46e0-96ad-e806e24190a4", 
  "version": 2, 
  "checkName": "schemaComparison", 
  "groups": [], 
  "checkIntent": null, 
  "participants": { 
    "datasetRid": "ri.foundry.lava-catalog.dataset.3b31fb14-2ba2-446c-b811-5c4a808ba710", 
    "branchId": "master", 
    "columnNames": [] 
  }, 
  "subjects": [], 
  "validations": { 
    "type": "schemaComparison", 
    "schemaComparison": { 
      "severity": "MODERATE", 
      "schemaInfo": { 
        "columns": [
          { "name": "code", "columnType": "STRING" }, 
          { "name": "name", "columnType": "STRING" }, 
          { "name": "id", "columnType": "STRING" }
        ] 
      }, 
      "schemaComparisonType": "EXACT_MATCH_UNORDERED_COLUMNS" 
    } 
  }, 
  "schedule": null, 
  "autoResolutionConfiguration": null, 
  "issueConfiguration": null, 
  "isContractCheck": false, 
  "attribution": { 
    "userId": "8be575d6-eb3b-4fec-bd5e-81fc7c4ee8b0", 
    "lastUpdated": "2021-02-18T09:51:52.934376Z" 
  } 
}

实用小提示

以后编写JSON时可以多留意这两点:

  • 用对象{}存储单个实体的键值对属性,用数组[]存储一组同类型的元素集合
  • 写完后用Jsonlint这类校验工具快速检查,能第一时间定位语法问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 12:47:38