作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个字段名称带有“_”的 json。但是,我需要映射这些字段的类没有下划线。由于字段名称不匹配,我将映射类的值设为 null。我想在将它们映射到实体类之前从 json 字段中删除下划线。您能否建议可以通过哪种方式完成 - 使用 CustomConverter 或使用 DefaultContractResolver 以及哪种实现方式更好。示例 json 如下:
{\"My_UnitOfStudyStatus_Code\":\"1234\"
相应的实体类有一个名为MyUnitOfStudyStatusCode的字段我需要一个通用解决方案,我可以将其用于我的所有 json 并映射到所有相应的实体。
我正在尝试按以下方式 sanitizer
JsonConvert.DeserializeObject<TEntityType>(jsonString, new IgnoreUnderScoreConverter<TEntityType>()
我尝试并停留在下面的转换器实现位置:
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer)
{
JObject jobject = JObject.Load(reader);
var model = new T();
//Need to rename fields for jobject
serializer.Populate(renamed.CreateReader(), model);
return model;
}
但是我可能在这里遗漏了一些东西,我无法重命名我从 jobject 获得的字段,然后再将它们映射到实体类。请提出建议。
最佳答案
您可以使用 JsonPropertyName 属性。例如:
[JsonPropertyName("_name")]
public string Name {get;set;}
这将正确反序列化,即使 json 中的属性名称中有下划线
关于c# - 反序列化时从 json 字段名称中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73598486/
概述 CentOS Stream 成立于 2019 年,是“RHEL 下一步的滚动预览”。Red Hat 首席技术官 Chris Wright 和 CentOS 社区经理 Rich Bowen 各
我有一个使用 Mesosphere DC/OS 编排选项进行配置的 Azure 容器服务 (ACS) 集群。我可以在 Marathon UI 中创建一个应用程序。 但是,当我通过 Marathon U
我是一名优秀的程序员,十分优秀!