使用Json.NET进行反序列化



下面是来自API的响应:

{"success":true,"data":[{"_id":"559276d1f21a16dc28f8cd67","name":"Businessman","__v":0}]}

所有的服务器方法返回一个Json对象,格式为:

{ "success": "true/false", data: "object_array[]" }

或:

{ "success": "true/false", data: "single_object" }

所以我应该有一个c#对象的响应,我也需要有不同的对象类型的"数据"部分的响应。"data"属性可以是不同类型的数组,有时也可以是单个对象。

是否有一个动态的方法来处理这个场景,或者我应该为每个响应定义不同的类型?

谢谢。

可以使用dynamic关键字

dynamic jObj = JObject.Parse(json);
Console.WriteLine(jObj.success);
if(jObj.data is JArray)
{
    Console.WriteLine(jObj.data[0].name);
}
if (jObj.data is JObject)
{
    Console.WriteLine(jObj.data.name);
}

相关内容

  • 没有找到相关文章

最新更新