程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了.NET NewtonSoft JSON反序列化映射到其他属性名称大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决.NET NewtonSoft JSON反序列化映射到其他属性名称?

开发过程中遇到.NET NewtonSoft JSON反序列化映射到其他属性名称的问题如何解决?下面主要结合日常开发的经验,给出你关于.NET NewtonSoft JSON反序列化映射到其他属性名称的解决方法建议,希望对你解决.NET NewtonSoft JSON反序列化映射到其他属性名称有所启发或帮助;

Json.NET具有JsonPropertyAttribute允许您指定JsON属性名称的名称,因此您的代码应为:

public class Teamscore
{
    [JsonProperty("eighty_min_score")]
    public String Eightyminscore { get; set; }
    [JsonProperty("home_or_away")]
    public String HomeOrAway { get; set; }
    [JsonProperty("score ")]
    public String score { get; set; }
    [JsonProperty("team_ID")]
    public String TeamID { get; set; }
}

public class Team
{
    public String v1 { get; set; }
    [JsonProperty("attributes")]
    public Teamscore Teamscores { get; set; }
}

public class RootObject
{
    public List<Team> Team { get; set; }
}

文档:

解决方法

我有以下从外部方收到的JSON字符串。

{
   "team":[
      {
         "v1":"","attributes":{
            "eighty_min_score":"","home_or_away":"home","score":"22","team_id":"500"
         }
      },{
         "v1":"","home_or_away":"away","score":"30","team_id":"600"
         }
      }
   ]
}

我的映射类:

public class Attributes
{
    public String eighty_min_score { get; set; }
    public String home_or_away { get; set; }
    public String score { get; set; }
    public String team_id { get; set; }
}

public class Team
{
    public String v1 { get; set; }
    public Attributes attributes { get; set; }
}

public class RootObject
{
    public List<Team> team { get; set; }
}

现在的问题是,我不喜欢的Attributes 类名attributes 字段名
Team类。相反,我希望它被命名,TeamScore并且还希望_从字段名称中删除并提供适当的名称。

JsonConvert.DeserializeObject<RootObject>(jsontext);

我可以重命名AttributesTeamScore,但是如果我更改了字段名(attributesTeam类中),它将无法正确地反序列化并提供给我null。我该如何克服呢?

大佬总结

以上是大佬教程为你收集整理的.NET NewtonSoft JSON反序列化映射到其他属性名称全部内容,希望文章能够帮你解决.NET NewtonSoft JSON反序列化映射到其他属性名称所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。