.net C# System.Text.Json 如何将 string类型的“true”转换为布尔值 解决方案
Posted on 2023-12-20 20:40 WebEnh 阅读(152) 评论(0) 编辑 收藏 举报直接上解决方法的代码
先定义一个转换顺,代码如下:
public sealed class AnhBoolConverter : JsonConverter<bool?> { public override bool? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { var val = JsonSerializer.Deserialize<string?>(ref reader, options); bool? boolVal = Convert.ToBoolean(val); return boolVal; } public override void Write(Utf8JsonWriter writer, bool? val, JsonSerializerOptions options) => // What do I do here? I want to preserve other options such as options.PropertyNamingPolicy, which are lost by the following call JsonSerializer.Serialize(writer, val); }
再到需要反序列化地实体上添加如下属性(黄色高亮区域):
public class ResponseBase { /// <summary> /// 接口请求结果 true or false /// 示例值:"result": "true" 或 true /// </summary> [System.Text.Json.Serialization.JsonConverter(typeof(AnhBoolConverter))] public bool? result { set; get; } /// <summary> /// 系统返回结果描述 /// 示例值:接口调用成功 /// </summary> public string? msg { set; get; } /// <summary> /// 错误码 /// </summary> public string? errCode { get; set; } }
希望能帮到您解决问题。
转自:http://Www.CnBlogs.Com/WebEnh/
如果想下次快速找到我,记得点下面的关注哦!
本博客Android APP 下载 |
![]() |
支持我们就给我们点打赏 |
![]() |
支付宝打赏 支付宝扫一扫二维码 |
![]() |
微信打赏 微信扫一扫二维码 |
![]() |
如果想下次快速找到我,记得点下面的关注哦!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-12-20 .net core 5,6,7【多线程笔记】取消令牌(CancellationToken) CancellationTokenSource
2018-12-20 nginx 将请求全部指向到一个页面
2018-12-20 windows10下面部署nginx(解决文件名中文乱码问题)
2018-12-20 二.Nginx反向代理和静态资源服务配置
2018-12-20 使用Nginx反向代理和内容替换模块实现网页内容动态替换功能
2018-12-20 Nginx的使用(一)代理静态文件
2018-12-20 如何让NGINX显示文件夹目录