部分属性在使用NewtonJson时不能正确映射为json格式。
创始人
2024-12-24 08:00:17
0
  1. 确认属性名和json字段名都匹配,并标注好对应的属性类型。例如: public class Person { public string Name { get; set; } [JsonProperty("age")] //指定json中字段名 public int Age { get; set; } }

  2. 在序列化和反序列化时使用NewtonJson的序列化器和反序列化器,并配置好选项。例如: var options = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase, //将属性名转为小驼峰式 WriteIndented = true //格式化输出json }; //序列化 var jsonString = JsonSerializer.Serialize(person, options); //反序列化 var person = JsonSerializer.Deserialize(jsonString, options);

  3. 如果仍然无法映射,则可以尝试自定义解析器。例如: public class CustomJsonConverter : JsonConverter { public override bool CanConvert(Type typeToConvert) => typeToConvert == typeof(Person);

     public override Person Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
     {
         var obj = JsonSerializer.Deserialize(ref reader); //解析json元素
         var name = obj.GetProperty("name").GetString(); //获取属性值并转换为Person对象
         var age = obj.GetProperty("age").GetInt32();
         return new Person { Name = name, Age = age };
     }
    
     public override void Write(Utf8JsonWriter writer, Person value, JsonSerializerOptions options)
     {
         writer.WriteStartObject();
         writer.WriteString("name", value.Name);
         writer.WriteNumber("age", value.Age);
         writer.WriteEndObject();
     }
    

    } //序列化 var jsonString = JsonSerializer.Serialize(person, typeof(Person), new JsonSerializerOptions { Converters = { new CustomJsonConverter() } //添加自定义解析器 }); //反序列化 var person = JsonSerializer.Deserialize(jsonString, new JsonSerializerOptions { Converters = { new CustomJsonConverter

相关内容

热门资讯

揭秘关于!手机透视辅助器app... 揭秘关于!手机透视辅助器app(辅助挂)wpk模拟器多开(其实有挂)是一款可以让一直输的玩家,快速成...
重大通报!微乐自建房辅助(辅助... 重大通报!微乐自建房辅助(辅助挂)xpoker辅助工具(最初真的有挂);微乐自建房辅助软件透明挂是一...
每日必备!内蒙博乐填大坑辅助(... 您好:内蒙博乐填大坑辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
总算了解!新道游游戏辅助器安装... 总算了解!新道游游戏辅助器安装包(辅助挂)德普之星透视辅助软件下载(确实是真的有挂);新道游游戏辅助...
记者爆料!打哈儿床将作弊(辅助... 记者爆料!打哈儿床将作弊(辅助挂)德扑之心免费透视(从前是真的有挂);1、许多玩家不知道打哈儿床将作...
分享实测!情怀游戏辅助器破解版... 分享实测!情怀游戏辅助器破解版(辅助挂)hhpoker可以控制吗(其实是有挂);情怀游戏辅助器破解版...
一分钟了解!微乐辅助脚本(辅助... 一分钟了解!微乐辅助脚本(辅助挂)wpk透视是真的假的(一直有挂);1.微乐辅助脚本 ai辅助创建新...
一分钟了解!火神辅助免费下载(... 一分钟了解!火神辅助免费下载(辅助挂)wepoker辅助软件价格(往昔真的有挂)是一款可以让一直输的...
必备科技!天蝎辅助(辅助挂)德... 必备科技!天蝎辅助(辅助挂)德扑HHpoker有挂吗(确实是真的有挂);天蝎辅助辅助器中分为三种模型...