【发布时间】:2014-11-14 19:39:40
【问题描述】:
我有一些 JSON 想要反序列化为 C# 类的实例。但是,该类没有与原始 JSON 匹配的所有字段/属性。我希望能够修改类中的属性值,然后将其序列化回 JSON,原始 JSON 中的剩余字段和属性仍然完好无损。
例如,假设我有以下 JSON:
{
"name": "david",
"age": 100,
"sex": "M",
"address": "far far away"
}
我想将它反序列化到这个类中:
class MyClass
{
public string name { get; set; }
public int age { get; set; }
}
反序列化后,我设置如下:
myClass.name = "John";
myClass.age = 200;
现在,我想将它序列化回 JSON 并得到这个结果:
{
"name": "John",
"age": 200,
"sex": "M",
"address": "far far away"
}
有没有办法使用 Json.Net 做到这一点?
【问题讨论】:
-
这不是您想要的,但这至少是一种解决方案,stackoverflow.com/questions/1207731/…
-
为什么不直接将属性添加到类中?
-
@MikkoViitala 他可能不知道其他属性是什么,或者它们的名称和数量可能是可变的。
-
@BrianRogers 是正确的。实际上 JSON 非常庞大,只想在强类型环境中修改一些字段,而不必定义所有字段。我确实想出了一个解决方案,我将在几秒钟内将其发布在这里