[英]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.