I have following JSON string which is received from an external party.

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

我的 map 类:

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; }
}

问题是我不喜欢Team班的Attributes class nameattributes field names.相反,我希望将其命名为TeamScore,并从字段名中删除_,并给出正确的名称.

JsonConvert.DeserializeObject<RootObject>(jsonText);

我可以将Attributes重命名为TeamScore,但如果我更改字段名(Team类中的attributes),它将无法正确反序列化,并给出null.我怎样才能克服这个问题?

推荐答案

Json.NET - Newtonsoft有一个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; }
}

文件:100

Json相关问答推荐

JOLT拉平数组

从JSON格式提取数据时分隔通用名称

如何使用表键名称GROUP_BY

如何形成正确的JQ表达式以从JSON文件中获得准确的输出数据?

如何用JQ更改空/布尔/数字的 colored颜色 ?

在Ansible中从json中提取特定数据

简单条形图和有序分类中条形图的 colored颜色 梯度

递归解码嵌套列表(具有任意深度的列表列表)

规范化JSON数据

导致此 Kotlin Retrofit2 错误的可能原因有哪些?

Oracle JSON 查询中的动态列列表

Rust实现:高效解析任意大小的JSON数组

如果有 1 个元素,如何防止 ConvertFrom-Json 折叠嵌套数组

现代浏览器一次可以处理多少个 HTML 元素?

解析包含换行符的 JSON

在 JSON 反序列化期间没有为System.String类型定义无参数构造函数

JSON.NET JsonConvert 与 .NET JavaScriptSerializer

Django:TypeError:[] 不是 JSON 可序列化的为什么?

FastAPI:如何将正文读取为任何有效的 json?

Backbone.js 模型与集合