json反序列化 JsonConvert.DeserializeObject 报错 One or more errors occurred. (Unexpected character encountered while parsing value: . Path '', line 0, position 0.
接口返回的字符串肉眼看起来正常,也是标准json,反序列化时候报错,
字符串添加了UTF8-BOM头(windows记事本默认编码),
可以通过以下代码移除标头
//模拟json字符串对象
var jsonStr="{}";
byte[] buffer = Encoding.UTF8.GetBytes(jsonStr);
var sResult = Encoding.UTF8.GetString(buffer, 0, buffer.Length);
byte[] bomBuffer = new byte[] { 0xef, 0xbb, 0xbf };
if (buffer[0] == bomBuffer[0] && buffer[1] == bomBuffer[1] && buffer[2] == bomBuffer[2])
{
int copyLength = buffer.Length - 3;
byte[] dataNew = new byte[copyLength];
Buffer.BlockCopy(buffer, 3, dataNew, 0, copyLength);
sResult = System.Text.Encoding.UTF8.GetString(dataNew);
}
[参考]
C#解析json报错Unexpected character encountered while parsing value: . Path ‘‘, line 0, position 0.
留待后查,同时方便他人
联系我:renhanlinbsl@163.com
联系我:renhanlinbsl@163.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律