簡體   English   中英

將 object 轉換為 json 字符串時忽略屬性

[英]Ignore property when converting object to json string

所以我有一個 REST API 與基於 OData 交換的 JSON 一起使用。 在 OData 類型中,有一個我想讀取的 ID 屬性,因此我可以對其進行一些檢查。 但是,當我想寫回網絡服務器時,ID 屬性不能出現在響應 JSON 字符串中。 所以它必須是一個只寫屬性,但簡單地將一個屬性更改為只寫可以防止檢查該屬性的值是什么。

例如,我創建了一個新產品:

Public Class Product
  Public property ID as integer
  Public property Title as string
End class

獲取響應:

{
  "ID" = 1,
  "Title" = "Cool product!"
}

發布錯誤:

{
  "ID" = 1, <---- ignore this value
  "Title" = "Cool product! Changed!"
}

POST 應該是:

{
  "Title" = "Cool product! Changed!"
}

網絡服務器使用 OData

使用屬性JsonIgnore並不能修復它,因為 REST 響應的值沒有被序列化。

這是針對 WPF 而不是 ASP.Net

JSON.NET 支持條件屬性序列化,該方法使用返回bool且與帶有 ShouldSerialize 前綴的屬性同名的方法:

public class Product
{
    public int Id { get; set; }
    public string Title { get; set; }

    public bool ShouldSerializeId() => false;

}

暫無
暫無

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

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