[英]How to rename and remap fields with illegal json field names
我已经使用json2csharp生成了一些不错的c#类,可以在其中反序列化json。
除了json2csharp命名某些字段invalid_name之外 ,它实际上按预期方式工作。 我将这些名称重命名为有效的csharp名称,但是在序列化时,这些类为null。
请记住,由于json中某些字段的命名,我下面粘贴的类将无法直接使用。 您可能必须手动重命名并映射它们。
这恰好描述了我的问题。 不幸的是,答案没有提供任何关于如何“映射它们”的线索。 所以有人可以告诉我如何手动将一些json数组映射到c#类。
我正在使用RestSharp反序列化器,顺便说一句。
有任何想法吗?
如果您使用JSON.NET作为基础或JSON解析,则可以重命名属性,然后用属性修饰属性以使其与原始JSON对象对齐。
一个示例是JSON中名为1的属性,该属性在C#中无效。 可以使用以下方法更正此问题:
[JsonProperty("1")]
public int? One { get; set; }
如果要在类级别进行编辑,则还有一个JsonObject属性,还有一个JsonIgnore对象,可忽略属性的序列化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.