簡體   English   中英

如何使用非法的json字段名稱重命名和重新映射字段

[英]How to rename and remap fields with illegal json field names

我已經使用json2csharp生成了一些不錯的c#類,可以在其中反序列化json。

除了json2csharp命名某些字段invalid_name之外 ,它實際上按預期方式工作。 我將這些名稱重命名為有效的csharp名稱,但是在序列化時,這些類為null。

我找到了另一篇SO帖子 ...其中一個回答者說以下...

請記住,由於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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM