【发布时间】:2015-06-22 15:51:12
【问题描述】:
我正在使用 Json.Net 将类序列化和反序列化为 json 并返回。
我向标有[JsonObject(ItemRequired = Required.Always)](或Required.Always)的类添加了一个新的仅获取属性。这导致以下JsonSerializationException:
Newtonsoft.Json.JsonSerializationException:在 JSON 中找不到必需的属性
'<PropertyName>'
我认为用JsonIgnore 标记该属性可以解决问题,但这不起作用。
我如何告诉 Json.Net 这个属性应该被忽略?
这是重现问题的最小示例:
[JsonObject(ItemRequired = Required.Always)]
public class Hamster
{
public string FirstName { get; set; }
public string LastName { get; set; }
[JsonIgnore]
public string FullName { get { return FirstName + LastName; }}
}
private static void Main()
{
var hamster = new Hamster {FirstName = "Bar", LastName = "Arnon"};
var serializeObject = JsonConvert.SerializeObject(hamster);
var deserializeObject = JsonConvert.DeserializeObject<Hamster>(serializeObject);
}
【问题讨论】:
标签: c# .net json serialization json.net