簡體   English   中英

Json 屬性映射 - 使用下划線

[英]Json Property Mapping - using underscore

我正在實施第 3 方 RestFul API。請求和響應數據中的大部分 Json 屬性都使用下划線字符而不是空格和全部小寫格式。 例如

{
"message_id" : "QWERTY",
"other_reference" : 12345
}

在我的內部代碼中,我不喜歡這種格式,我希望我的 model 是以下格式。

public class data
{
string MessageId {get; set;}

int OtherReference {get; set;}
}

有沒有一種簡單的方法可以讓序列化器/反序列化器為我做映射(使用 System.Text.Json)? 我知道我可以使用屬性JsonPropertyName來做到這一點,但這意味着將屬性添加到所有屬性(有很多屬性),盡管這種方法確實允許我在我的代碼中使用更有意義的名稱(其中的一些名稱Json 可能會讓日后訪問代碼的人感到有些困惑,如果他們沒有主題知識的話)

謝謝

來自 Java,您將在其中使用某種注釋(JSON-B / Jackson),您將在 C# 中使用您已經提到的JsonPropertyName執行相同的操作。

在我看來,這也是你最好的選擇,因為你不能編寫一個像樣的算法來插入下划線,這需要該算法在某種程度上理解所使用的語言,因此完全矯枉過正,容易出錯,甚至不容易開發。

因此,我的建議是不要擺弄實際屬性,而是引入另一個 class 和方法來將第三方的表示解析為您的表示(如果您非常需要的話),除此之外, JsonPropertyName可能確實是最好的選擇。

請參閱: 如何使用 System.Text.Json 自定義屬性名稱和值以獲取更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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