public static QueryDeviceGroupByTagsResponse Unmarshall(UnmarshallerContext _ctx) { QueryDeviceGroupByTagsResponse queryDeviceGroupByTagsResponse = new QueryDeviceGroupByTagsResponse(); queryDeviceGroupByTagsResponse.HttpResponse = _ctx.HttpResponse; queryDeviceGroupByTagsResponse.RequestId = _ctx.StringValue("QueryDeviceGroupByTags.RequestId"); queryDeviceGroupByTagsResponse.Success = _ctx.BooleanValue("QueryDeviceGroupByTags.Success"); queryDeviceGroupByTagsResponse.Code = _ctx.StringValue("QueryDeviceGroupByTags.Code"); queryDeviceGroupByTagsResponse.ErrorMessage = _ctx.StringValue("QueryDeviceGroupByTags.ErrorMessage"); queryDeviceGroupByTagsResponse.Page = _ctx.IntegerValue("QueryDeviceGroupByTags.Page"); queryDeviceGroupByTagsResponse.PageSize = _ctx.IntegerValue("QueryDeviceGroupByTags.PageSize"); queryDeviceGroupByTagsResponse.PageCount = _ctx.IntegerValue("QueryDeviceGroupByTags.PageCount"); queryDeviceGroupByTagsResponse.Total = _ctx.IntegerValue("QueryDeviceGroupByTags.Total"); List <QueryDeviceGroupByTagsResponse.QueryDeviceGroupByTags_DeviceGroup> queryDeviceGroupByTagsResponse_data = new List <QueryDeviceGroupByTagsResponse.QueryDeviceGroupByTags_DeviceGroup>(); for (int i = 0; i < _ctx.Length("QueryDeviceGroupByTags.Data.Length"); i++) { QueryDeviceGroupByTagsResponse.QueryDeviceGroupByTags_DeviceGroup deviceGroup = new QueryDeviceGroupByTagsResponse.QueryDeviceGroupByTags_DeviceGroup(); deviceGroup.GroupId = _ctx.StringValue("QueryDeviceGroupByTags.Data[" + i + "].GroupId"); deviceGroup.GroupName = _ctx.StringValue("QueryDeviceGroupByTags.Data[" + i + "].GroupName"); queryDeviceGroupByTagsResponse_data.Add(deviceGroup); } queryDeviceGroupByTagsResponse.Data = queryDeviceGroupByTagsResponse_data; return(queryDeviceGroupByTagsResponse); }
//根据标签获取设备分组列表,支持同时按照TagKey和TagValue检索 public void TestQueryDeviceGroupByTags2() { DefaultAcsClient acsClient = Demo.IotClient.GetClient(); QueryDeviceGroupByTagsRequest request = new QueryDeviceGroupByTagsRequest(); request.CurrentPage = 1; request.PageSize = 10; List <QueryDeviceGroupByTagsRequest.Tag> tagList = new List <QueryDeviceGroupByTagsRequest.Tag>(); QueryDeviceGroupByTagsRequest.Tag tag1 = new QueryDeviceGroupByTagsRequest.Tag(); tag1.TagKey = "h1"; tag1.TagValue = "clock"; tagList.Add(tag1); QueryDeviceGroupByTagsRequest.Tag tag2 = new QueryDeviceGroupByTagsRequest.Tag(); tag2.TagKey = "h2"; tag2.TagValue = "hour"; tagList.Add(tag2); request.Tags = tagList; QueryDeviceGroupByTagsResponse response = acsClient.GetAcsResponse(request); Console.WriteLine("Query Device Group Tag List: " + response.Success); if (!(bool)response.Success) { Console.WriteLine(response.Code + ", " + response.ErrorMessage); Console.ReadKey(); return; } Console.WriteLine("CurrentPage: " + response.Page); Console.WriteLine("PageSize: " + response.PageSize); Console.WriteLine("PageCount: " + response.PageCount); Console.WriteLine("Total: " + response.Total); List <QueryDeviceGroupByTagsResponse.QueryDeviceGroupByTags_DeviceGroup> DeviceGroups = response.Data; for (int i = 0; i < DeviceGroups.Count; i += 1) { QueryDeviceGroupByTagsResponse.QueryDeviceGroupByTags_DeviceGroup DeviceGroup = DeviceGroups[i]; Console.WriteLine("GroupId: " + DeviceGroup.GroupId); Console.WriteLine("GroupName: " + DeviceGroup.GroupName); Console.WriteLine(); } }