我有以下从外部方收到的JSON字符串。
{
"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"
}
}
]
}
我的映射类:
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);
我可以重命名Attributes
为TeamScore
,但是如果我更改了字段名(attributes
在Team
类中),它将无法正确地反序列化并提供给我null
。我该如何克服呢?
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字符串。 问题是我不喜欢类中的类名和字段名。相反,我希望将其命名为,并且将从字段名称中删除,并给出正确的名称。 我可以将重命名为,但如果更改字段名(类中的),它将无法正确反序列化,并给我。我怎样才能克服这些呢?
我对Jackson有一个错误的理解,就是将json文件反序列化为poco。这是我的代码: 我的POCO命名为AnimalBean: }还有我的JSON文件: } 当我执行我的代码时,我有以下错误:未识别的字段“动物园”(类动画豆),未标记为可忽略的。我知道问题是我的json文件开始不直接由动物,但我不能改变它,因为它不是我的。我已经尝试把对象apper.configure(Deseriazatio
我正在寻找一种解决方案,使用Jackson基于同一POJO中的其他属性值序列化POJO对象属性 如果某个属性值符合某些条件,则应根据要求更改其他属性值 例如,下面是我的JSON对象: 在上述情况下,如果的值符合某些条件,那么我应该能够更改的值 为什么需要这样做: 是一个配置对象 和-是配置设置 在上面的例子中,中有一个是,我需要屏蔽/更改相应的 还要补充一点,在这个例子中,属性是和,但是如果我们找
可以序列化/反序列化< code >映射吗 在这种特殊情况下,我知道总是,和 - 第三方类(我有序列化器和反序列化器),其他值是盒装原语。 有可能和杰克逊做这样的事吗?使用MapSerializer/MapDeserializer可以做到这一点吗?(我找不到任何例子)
问题内容: 我想将二维数组反序列化为.net对象的集合。原因是,数组语法将使我的用户更容易在输入文件中使用。所以我只想将数组的索引映射到目标类型的特定属性。 EG具有: 我会得到一个Person的两个实例: 其中内部数组的索引0映射到,索引1映射到,索引2映射到; 有没有一种扩展Json.NET的方法,以便我可以在反序列化期间进行映射,从而隐藏实现细节?我一直在玩一个自定义,但是我没有找到太多关于
我有以下JSON字符串: 我将把它映射到以下模型: 当反序列化这个JSON字符串时,我希望能够在运行时将这些属性名称映射到不同的名称,如下所示: 例如,在反序列化过程中,我希望将“property1”的名称反序列化为“differen_property_name1”或“differen_property_name2”或“differen_property_name3”。因为我在运行时选择了新名称(