C# 在类中不存在属性的情况下,是否可以向类的JSON版本添加属性?

C# 在类中不存在属性的情况下,是否可以向类的JSON版本添加属性?,c#,json,class,serialization,properties,C#,Json,Class,Serialization,Properties,我有一个对象的列表。他们的类没有“color”属性(String)-但我可以在序列化之前为每个列表元素派生此属性的值 将此属性包含在JSON对象中以将其添加到类中,然后序列化整个对象的唯一方法是什么 或者有没有一种方法/途径可以添加一个需要出现在JSON对象中的属性,否则在我的类中会非常无用 我知道各种各样的字符串操作方法都有可能,但这样做感觉不太对 我正在使用DataContractJsonSerializer我希望您可以创建一个新类,该类继承自对象列表,并添加在主体类上不可用的字符串 创建J

我有一个对象的
列表。他们的类没有“color”属性(
String
)-但我可以在序列化之前为每个列表元素派生此属性的值

将此属性包含在JSON对象中以将其添加到类中,然后序列化整个对象的唯一方法是什么

或者有没有一种方法/途径可以添加一个需要出现在JSON对象中的属性,否则在我的类中会非常无用

我知道各种各样的字符串操作方法都有可能,但这样做感觉不太对


我正在使用DataContractJsonSerializer

我希望您可以创建一个新类,该类继承自对象列表,并添加在主体类上不可用的字符串

创建JSON时,只需使用派生类,该派生类将包含添加的字符串值,并从原始对象继承所有rest数据。

您可以创建一个可透明地将您的类的实例替换为另一个类的实例的类。这个新类可以看起来像任何东西,但在您的例子中,它只是具有附加的
color
属性


这里的好处是保留列表项的原始类型;代理项是在序列化过程中创建的,您的现有代码根本不需要接触它们。

很好的建议。我没想到。但我想我试图避免的是冗余和存储过多的数据——我不仅要针对我的类存储一个不必要的属性(按照我建议的方式),而且要按照你的方式存储,我还要存储一个额外的类+是的。。。但是如果您不想直接操作JSON字符串,也不想通过创建一个新类来“优雅地”操作它。。。我们还有什么办法来解决你的问题?好吧,一旦JSON对象被创建,就无法对其进行操作,而且,如果可能的话,您将面临完全相同的问题,因为您的JSON对象将加载到内存中,“垃圾”数据将存储在内存中。嗯。。。我不知道代孕,我刚刚读了乔恩的帖子。看起来很好。我想这正是我想要的。非常感谢,乔恩。