我有一个定义良好的类,用于在HTTP请求中作为JSON主体发送。
public class EventData
{
public string deviceJobId { get; set; }
public int eventID { get; set; }
public long time_ms { get; set; }
/// similar fields
}
现在我必须再添加一个名为HealthInfo
的字段,这个新的HealthInfo
的值是从某个文件中读取的嵌套JSON,这个JSON文件的字段会不时地更改,并且不能保证某些字段始终存在。
我不想读取/修改它的任何值,只需要将这个EventData
作为HTTP请求的一部分作为json发布。
那么如何正确添加HealthInfo
呢?
我尝试将HealthInfo
作为字符串,对象被双重序列化。
3条答案
按热度按时间iswrvxsc1#
在添加新的json字符串之前,必须转换为JObject
5gfr0r5j2#
如果您知道HealthInfo中所有可能的属性,那么您可以创建一个具有可空属性的新类
HealthInfo
。然后在主类中添加可为空的HealthInfo:
但是,如果您不确定将获得哪种类型的数据,并且希望避免双重序列化,只需将HealthInfo作为object传递即可:
tmb3ates3#
你可以使用C#反射。(TypeBuilder.defineProperty方法)事实上你必须在运行时给类添加prop。
详情请参阅
https://learn.microsoft.com/