【发布时间】:2015-02-19 16:02:26
【问题描述】:
我有这样的课:
public class item
{
public string Name { get; set; }
public string City { get; set; }
public string Pw { get; set; }
}
我从中创建了几个存储在数据库中的对象。然后我想用来自客户端的数据以这样的 json 形式更新其中一个:
{
"Name":"John",
"City":"NYC"
}
这个想法是使用:
item myitem = JsonConvert.DeserializeObject<item>(jsoncomingfromclient);
但是这样做 Pw 会被 null 覆盖(显然我想保留原始值)
NullValueHandling 看起来是一个不错的候选者,但如果值为 null,它就可以工作,在我的情况下,它完全从 json 中丢失。 知道如果 json 中缺少值,如何反序列化 json,将旧值保留在目标对象中?
【问题讨论】:
-
您的示例根本不包含“原始值”...听起来您应该只是在两个
item值之间编写合并例程。 (理想情况下,同时修复名称以使其更惯用......)