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

Erlang调用ejson解析JSON时报错,咨询具体报错原因

Erlang ejson解析错误原因汇总
  • JSON结构类型匹配错误
    ejson库的解码规则为:JSON对象解码为{[键值对列表]}格式的元组,JSON数组解码为普通列表。你代码中total字段的匹配逻辑要求total对应的是JSON对象,但你给出的预期结构里total是数组格式,类型不匹配会直接抛出匹配异常。
    同时代码中child字段的遍历逻辑要求child是JSON数组,数组内的每个元素都是JSON对象,和你给出的单对象格式的child结构也不匹配。
  • 字段缺失/大小写不匹配
    代码中要求total下必须存在大写开头的Title字段,child数组的每个元素下必须存在bid字段,但你给出的预期结构中都没有这两个字段,lists:keyfind匹配不到对应键时会返回false,和你写的{_, 字段名}模式匹配失败,导致报错。
  • 代码本身存在语法错误
    你贴出的代码中{_, Title= lists:keyfind(<<"Title">>, 1, L1),缺少右括号,正确语法应为{_, Title} = lists:keyfind(<<"Title">>, 1, L1),,语法错误会导致代码无法正常编译运行。

符合代码要求的JSON结构示例

{
  "total": {
    "id": 1,
    "name": 1,
    "icon_id": 503,
    "Title": "自定义标题"
  },
  "child": [
    {
      "id": 1,
      "bid": 1001,
      "total_id": 20,
      "group": 0
    },
    {
      "id": 2,
      "bid": 1002,
      "total_id": 20,
      "group": 0
    }
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:36:04