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

使用Json.NET解析JSON时遇“Additional text...”异常的原因排查

问题:Json.NET解析合法JSON时抛出"Additional text encountered"异常

我尝试解析一个JSON对象,plaintext字符串内容如下:

{"expiryDay":1,"expiryMonth":6,"expiryYear":2023,"machineGuid":"a3586fb9-b05e-46f1-a4a0-683a97109e34","name":"Alexander Farley"}

执行代码:

var json = JObject.Parse(plaintext);

抛出异常:

Newtonsoft.Json.JsonReaderException: 'Additional text encountered after finished reading JSON content: . Path '', line 1, position 129.'

该JSON已通过验证确认结构合法,且不存在多根元素,不解为何Json.NET拒绝解析。


排查与解决方法

  • 检查字符串末尾的额外字符:异常明确指出额外文本是.,说明你的plaintext字符串末尾大概率带有一个隐藏的点号,或是空格、换行符这类不可见字符。可以通过输出字符串长度、遍历字符ASCII码来定位问题。
  • 预处理清理字符串:解析前对字符串做清理,去除首尾多余字符:
    // 先去除首尾空白
    var cleanedText = plaintext.Trim();
    // 再移除所有非JSON语法允许的字符
    cleanedText = System.Text.RegularExpressions.Regex.Replace(cleanedText, @"[^\{\}\[\]\:\,\.\-\w\s\""]", "");
    var json = JObject.Parse(cleanedText);
    
  • 溯源字符串来源:如果plaintext来自文件、网络接口或外部日志,确认来源是否在输出时额外追加了字符(比如日志的后缀标记、文件末尾的冗余字节)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 03:32:41