C# 如何反序列化动态Json对象?

C# 如何反序列化动态Json对象?,c#,json,serialization,C#,Json,Serialization,我当前从api收到以下JSON响应: {"Lastname":["ERRLASTNAMEEMPTY"],"Firstname":["ERRFIRSTNAMEEMPTY"]} 请注意,上面的响应是动态的,即有时我可以有FirstName,有时LastName,有时两者都有。此响应基于数据验证 我的问题是-有没有办法使用JsonSerializer.deserialize反序列化此响应 我尝试过这样使用它,但它不起作用

我当前从api收到以下JSON响应:

{"Lastname":["ERRLASTNAMEEMPTY"],"Firstname":["ERRFIRSTNAMEEMPTY"]}
请注意,上面的响应是动态的,即有时我可以有FirstName,有时LastName,有时两者都有。此响应基于数据验证

我的问题是-有没有办法使用JsonSerializer.deserialize反序列化此响应

我尝试过这样使用它,但它不起作用:

var errorBody = JsonSerializer.Deserialize<dynamic>(body, serializerOptions);
var errorBody=JsonSerializer.Deserialize(body,serializerOptions);

JsonSerializer.反序列化(正文,序列化)

您可以使用
JObject
处理动态JSON对象,如下所示:

var data=JObject.Parse(body);

以后,您可以使用
数据[“Lastname”]?.Value()访问值等等,你想要的方式。

但它不是完全动态的,对吗?有时您有
Lastname
,有时您有
Firstname
,您只需要其中一个或两个,对吗?另外,
System.Text.Json
目前不支持对动态对象进行反序列化,请参阅。