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

Dart中jsonDecode解析复杂JSON字符串失败求助

Dart jsonDecode解析JSON异常的解决方法

你给出的JSON语法本身是完全合法的,出现解析失败大概率是以下几个常见问题:

  • 字符串含不可见特殊字符:复制JSON时可能带入零宽空格、非标准引号这类隐藏字符,导致解析失败。可以把字符串复制到本地JSON校验工具里检查,确认没有语法或字符问题。
  • 函数引用错误:检查你的代码是否正确导入了dart:convert,确保用的是官方的jsonDecode,而不是其他库的同名函数。
  • 变量命名冲突:你用json作为变量名,虽然Dart允许,但如果代码里有其他同名变量/函数,可能会导致混淆。可以改成jsonString试试。

给你一个带错误捕获的测试代码,能帮你定位具体问题:

import 'dart:convert';

void main() {
  var jsonString = '{"errors":[{"code":"INVALID_USER_PASSWORD","status":401,"title":"Invalid user name or password"}]}';
  try {
    final parsedJson = jsonDecode(jsonString);
    print('解析成功: $parsedJson');
  } catch (e) {
    print('解析错误详情: $e');
  }
}

如果运行后打印出具体错误,就能针对性解决。比如如果是字符编码问题,可以尝试重新手动输入JSON字符串,避免复制粘贴的隐藏字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 14:15:54