我正在编写一个使用 REST Web 服务的 C# 版本 4 应用程序。这些 Web 服务是使用 ASP.NET MVC RESTful Web 服务方法编写的。这些 Web 服务方法中有一半返回具有多个根的 JSON 字符串(请参阅下面的示例 JSON 数据)。但是,对于特定的 JSON 响应(请参见下文),我想将多根JSON 响应字符串部分反序列化为我感兴趣的 Device 对象(例如,属于 Device 类),而不是所有数据响应。
我知道如何使用 C# .NET 库或 JSON.net 代码来反序列化只有一个根的 JSON 字符串。但我不确定如何处理多根 JSON 数据。请指教。谢谢你。
例如,使用以下 JSON 响应,我想检索“设备”对象(从 Device 类实例化)的数据,并忽略“version_info”和“SKU_info”数据。
以下 JSON 响应有 3 个根:“version_info”、“SKU_info”和“device”:
{
“version_info” : { “version” : “1.0”, “owner_id” : 237},
“SKU_info” : {“id” : 1928399, “active”: true},
“device” : {
“id”: 7732, “name” : “desktop computer ”, “parent_device_id”: 2982,
“sub_devices”:
[
{“id”: 7733, “name”: “fan”, “quantity” : 1 },
{“id”: 7734, “name”: “memory chip”, “quantity” : 4 },
{“id”: 7735, “name”: “CPU”, “quantity” : 1 },
{“id”: 7736, “name”: “hard disk”, “quantity” : 2 },
],
“user_id” : 864
}
}
还有我的 csutom “Device” 和 “SubDevice” 类:
public class Device
{
public long Id;
public string Name;
public long ParentDeviceId;
public List<SubDevice> Subdevices;
public int UserId;
}
public class SubDevice
{
public long Id;
public string Name;
public int Quantity;
}