首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏编程宝典

    .NET WebAPI 自定义 NullableConverter 解决可为空类型字段入参“”空字符触发转换异常问题

    using System.Text.Json; using System.Text.Json.Serialization; namespace Common.JsonConverter { public class NullableConverter<T> : JsonConverter<T? <long>()); options.JsonSerializerOptions.Converters.Add(new Common.JsonConverter.NullableConverter <int>()); options.JsonSerializerOptions.Converters.Add(new Common.JsonConverter.NullableConverter <Guid>()); options.JsonSerializerOptions.Converters.Add(new Common.JsonConverter.NullableConverter

    1.1K40编辑于 2022-10-28
  • 来自专栏全球技术精选

    使用 C# 9 的records作为强类型ID - JSON序列化

    为了将强类型的id序列化为其值而不是对象,我们需要编写一个通用的 JsonConverter: public class StronglyTypedIdJsonConverter<TStronglyTypedId , TValue> : JsonConverter<TStronglyTypedId> where TStronglyTypedId : StronglyTypedId<TValue> { return StronglyTypedIdHelper.IsStronglyTypedId(typeToConvert); } public override JsonConverter 当它序列化一个值时,Newtonsoft.Json 查找一个compatible JsonConverter,如果找不到,就查找一个TypeConverter, 如果TypeConverter存在,并且可以将值转换为 { private static readonly ConcurrentDictionary<Type, JsonConverter> Cache = new(); public override

    2.2K10发布于 2021-01-21
  • 来自专栏大内老A

    自定义Key类型的字典无法序列化的N种解决方案

    二、自定义JsonConverter<Point>能解决吗? 遇到这样的问题我们首先想到的是:既然不执行针对Point的序列化/反序列化,那么我们可以对应相应的JsonConverter自行完成序列化/反序列化工作。 JsonConverter的目的本质上就是希望将Point对象视为字符串进行处理,既然自定义JsonConverter无法解决这个问题,我们是否可以注册相应的类型转换其来解决它呢? = (JsonConverter<TValue>)options.GetConverter(typeof(TValue))!; dictionary ?? = (JsonConverter<TValue>)options.GetConverter(typeof(TValue))!

    59610编辑于 2024-03-20
  • 来自专栏饭勺oO的技术博客

    ABP微服务学习系列-修复System.Text.Json不支持序列化Exception

    Utf8JsonWriter writer, T value, JsonSerializerOptions options) at System.Text.Json.Serialization.JsonConverter writer, T value, JsonSerializerOptions options, WriteStack& state) at System.Text.Json.Serialization.JsonConverter writer, T value, JsonSerializerOptions options, WriteStack& state) at System.Text.Json.Serialization.JsonConverter Utf8JsonWriter writer, Object value, JsonTypeInfo jsonTypeInfo) at System.Text.Json.Serialization.JsonConverter 类继承JsonConverter泛型接口,并重写他的方法。

    73310编辑于 2023-10-18
  • 来自专栏FHADMIN

    activiti 根据模型ID导出、预览 xml文件

    modelId) throws Exception{ Model modelData = repositoryService.getModel(modelId); BpmnJsonConverter jsonConverter ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId())); BpmnModel bpmnModel = jsonConverter.convertToBpmnModel modelId) throws Exception{ Model modelData = repositoryService.getModel(modelId); BpmnJsonConverter jsonConverter ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId())); BpmnModel bpmnModel = jsonConverter.convertToBpmnModel

    1.1K30发布于 2021-10-27
  • 联调发现上游改接口没有通知你,怎么把影响面压到最小?

    本文分享我在一次联调过程中遇到的上游接口字段类型漂移问题,以及我是如何通过自定义 JsonConverter 把影响面压到最小的实战经验。 具体做法如下: 模型继续保留 List<double>,不因为上游抖动而退化成 string 给这个字段挂一个自定义 JsonConverter Converter 同时支持三种输入:null、数组、字符串化数组 核心实现 先给字段加上转换器: public sealed class DeviceInfo { [JsonPropertyName("Metrics")] [JsonConverter 这个时候,像这种局部字段兼容,最省心的方式通常就是属性级 JsonConverter。 一方面改动范围小,另一方面也不会把全局序列化行为弄得太复杂。 自定义 JsonConverter 不算花哨,也谈不上什么高级技巧,但这种办法有一个非常现实的优点:稳。 而对于很多线上系统来说,稳,往往比巧更重要。

    9410编辑于 2026-04-14
  • 来自专栏JetpropelledSnake

    ELK学习笔记之基于kakfa (confluent)搭建ELK

    connect-standalone.properties bootstrap.servers=localhost:9092 key.converter=org.apache.kafka.connect.json.JsonConverter value.converter=org.apache.kafka.connect.json.JsonConverter key.converter.schemas.enable=false value.converter.schemas.enable =false internal.key.converter=org.apache.kafka.connect.json.JsonConverter internal.value.converter=org.apache.kafka.connect.json.JsonConverter value.converter.schema.registry.url=http://localhost:8081 key.converter=org.apache.kafka.connect.json.JsonConverter =false internal.key.converter=org.apache.kafka.connect.json.JsonConverter internal.value.converter=org.apache.kafka.connect.json.JsonConverter

    2.1K10发布于 2019-04-09
  • 来自专栏DotNet NB && CloudNative

    .NET 中的自定义 JSON 转换器

    JsonConverter 第 1 步:定义模型 首先,我们定义一个模型,用于序列化和反序列化 JSON。 Person publicclassPersonJsonConverter:JsonConverter<Person> { publicoverridePerson? [JsonConverter(typeof(PersonJsonConverter))] publicrecordPerson(string FirstName,string LastName,DateOnly

    86010编辑于 2024-12-10
  • 来自专栏walterlv - 吕毅的博客

    在 .NET 对象和 JSON 互相序列化的时候,枚举类型如何设置成字符串序列化,而不是整型?

    —— 使用转换器(JsonConverter)。 Newtonsoft.Json 中自带了一些转换器,在 Newtonsoft.Json.Converters 命名空间下。 using Newtonsoft.Json.Converters; namespace Walterlv.Models { public class Foo { [JsonConverter DataContract] public class Foo { ++ [DataMember(Name = "level")] [JsonConverter

    2.2K40编辑于 2023-10-22
  • 来自专栏喵叔's 专栏

    System.Text.Json自定义Conveter

    实现自定义Converter的原则是属性的类型和泛型的类型是一样的,针对前面所提到的问题,实现代码如下: public class StringOrIntConverter:JsonConverter< JsonSerializerOptions options) { writer.WriteStringValue(value); } } 使用这个自定义Converter有两种方法,一个是在属性上添加JsonConverter 下面的代码是两种方法的例子: 使用Converter属性 public record Test { [JsonConverter(typeof(StringOrIntConverter))]

    57720发布于 2021-11-22
  • 来自专栏清晨我上码

    第十三节 资源服务和认证服务通信,校验token

    instanceof MappingJackson2HttpMessageConverter) { MappingJackson2HttpMessageConverter jsonConverter = (MappingJackson2HttpMessageConverter) converter; jsonConverter.setObjectMapper(new ObjectMapper()); jsonConverter.setSupportedMediaTypes(ImmutableList.of(new MediaType

    2.2K20发布于 2018-10-11
  • 来自专栏杨焱的专栏

    SpringMVC 配置返回json处理细节

    (bean instanceof MappingJackson2HttpMessageConverter) { MappingJackson2HttpMessageConverter jsonConverter = (MappingJackson2HttpMessageConverter) bean; ObjectMapper objectMapper = jsonConverter.getObjectMapper

    1.1K20编辑于 2021-12-08
  • 来自专栏数据处理与编程实践

    VBA: 将选中的单元格区域导出为 JSON 文件

    Alice", "Age": 30, "City": "Osaka" } ] 第一步:准备 JSON 模块 为了支持 JSON 格式,需要引入第三方的 JSON 模块: 下载 JsonConverter.bas 打开 Excel,按下 Alt + F11 进入 VBA 编辑器 菜单栏选择 文件 > 导入文件,导入 JsonConverter.bas ‍ 第二步:准备 VBA 代码 ✳️ JSON 转换函数 RangeToJson End If Next collectionToJson.Add jsonObject Next RangeToJson = JsonConverter.ConvertToJson

    1.6K10编辑于 2025-04-17
  • 来自专栏DotNet程序园

    .NETCore3.1中的Json互操作最全解读-收藏级

    private static readonly List<JsonConverter> s_defaultFactoryConverters = GetDefaultConverters(); private readonly ConcurrentDictionary<Type, JsonConverter> _converters = new ConcurrentDictionary<Type , JsonConverter>(); private static Dictionary<Type, JsonConverter> GetDefaultSimpleConverters() { ... } private static List<JsonConverter> GetDefaultConverters( 我们需要将日期类型输出为 Unix 时间戳而不是格式化的日期内容,为此,我们将实现一个自定义的时间格式转换器,该转换器继承自 JsonConverter

    3.3K21发布于 2020-02-11
  • 来自专栏历史专栏

    【愚公系列】2022年03月 .NET CORE工具案例-短链接服务

    在这里,通过编写一个自定义JsonConverter来实现: public class HashIdJsonConverter : JsonConverter<int> { Hashids hashids JsonSerializer.Serialize(writer, hashids.Encode(value), options); } } 运行 public class UserDto { [JsonConverter

    57310编辑于 2022-03-04
  • 来自专栏newbe36524的技术专栏

    使用 System.Text.Json 时,如何处理 Dictionary 中 Key 为自定义类型的问题

    代码示例 首先,我们定义一个继承自 JsonConverter的类型 CustomTypeConverter,该类型实现了 Read、Write、ReadAsPropertyName、WriteAsPropertyName 方法: public class CustomTypeConverter : JsonConverter<CustomType> { public override CustomType Read 在定义自定义的 JSON 转换器时,需要注意以下几点: 类型需要继承自 JsonConverter类型。 在定义自定义的 JSON 转换器时,需要注意类型需要继承自 JsonConverter类型,并实现 Read、Write、ReadAsPropertyName、WriteAsPropertyName 方法

    1.5K20编辑于 2023-08-23
  • 来自专栏DotNet NB && CloudNative

    System.Text.Json 自定义 Conveter

    所以还需要自定义一个 Converter 来支持将数字转换成一个字符串,Converter 实现如下, 属性类型是什么,泛型类型就应该是什么 public class StringOrIntConverter : JsonConverter JsonSerializerOptions options) { writer.WriteStringValue(value); } } 使用 Converter 的方式有两种,一种是在某个属性上添加 JsonConverter Converter 来使用,直接配置 JsonSerializerOptions 中的 Converter 属性使用 Converter 示例: public record TestModel { [JsonConverter

    86540发布于 2021-11-10
  • 来自专栏全栈程序员必看

    asp.net core 关于自增长ID数据保护(IDOR漏洞)[通俗易懂]

    自带序列化组件代码: 复制代码 public class ProtectionConverter : JsonConverter { private readonly ITimeLimitedDataProtector nowDate.Date.AddHours(26) - nowDate); } writer.WriteStringValue(str); } } 用法: [JsonConverter 看不懂时研究下JsonConvert Newtonsoft.Json方式代码: 复制代码 ///JSON.NET //public class ProtectionConverter : JsonConverter

    1.4K20编辑于 2022-08-14
  • 来自专栏林德熙的博客

    win10 uwp unix timestamp 时间戳 转 DateTime

    下面需要用到了 JsonConverter 的高级用法。首先需要使用 Nuget 下载 json 的库,当然搜 json 下载第一个就好。 类型转换的意思就是从输入一个类型转换为输出的一个类型 关于更多 json 高级使用,参见:http://www.cnblogs.com/yanweidie/p/4605212.html class UnixConvert : JsonConverter 测试之前,我先把上面的转换类所有代码写出来 class UnixConvert : JsonConverter { public override void WriteJson class Foo { [JsonConverter(typeof(UnixConvert))] public DateTime created_utc { set

    2.6K10发布于 2018-09-18
  • 来自专栏大数据成神之路

    Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点

    org.apache.kafka.connect.json.JsonSerializer.configure(Ljava/util/Map;Z)V at org.apache.kafka.connect.json.JsonConverter.configure (JsonConverter.java:300) at org.apache.kafka.connect.json.JsonConverter.configure(JsonConverter.java:

    3K70发布于 2021-07-30
领券