Пример #1
0
        /// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            DescribeDirectoriesResponse response = new DescribeDirectoriesResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("DirectoryDescriptions", targetDepth))
                {
                    var unmarshaller = new ListUnmarshaller <DirectoryDescription, DirectoryDescriptionUnmarshaller>(DirectoryDescriptionUnmarshaller.Instance);
                    response.DirectoryDescriptions = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("NextToken", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.NextToken = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
        public static DescribeDirectoriesResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeDirectoriesResponse describeDirectoriesResponse = new DescribeDirectoriesResponse();

            describeDirectoriesResponse.HttpResponse = context.HttpResponse;
            describeDirectoriesResponse.RequestId    = context.StringValue("DescribeDirectories.RequestId");
            describeDirectoriesResponse.PageSize     = context.LongValue("DescribeDirectories.PageSize");
            describeDirectoriesResponse.PageNum      = context.LongValue("DescribeDirectories.PageNum");
            describeDirectoriesResponse.PageCount    = context.LongValue("DescribeDirectories.PageCount");
            describeDirectoriesResponse.TotalCount   = context.LongValue("DescribeDirectories.TotalCount");

            List <DescribeDirectoriesResponse.DescribeDirectories_Directory> describeDirectoriesResponse_directories = new List <DescribeDirectoriesResponse.DescribeDirectories_Directory>();

            for (int i = 0; i < context.Length("DescribeDirectories.Directories.Length"); i++)
            {
                DescribeDirectoriesResponse.DescribeDirectories_Directory directory = new DescribeDirectoriesResponse.DescribeDirectories_Directory();
                directory.Id          = context.StringValue("DescribeDirectories.Directories[" + i + "].Id");
                directory.Name        = context.StringValue("DescribeDirectories.Directories[" + i + "].Name");
                directory.Description = context.StringValue("DescribeDirectories.Directories[" + i + "].Description");
                directory.GroupId     = context.StringValue("DescribeDirectories.Directories[" + i + "].GroupId");
                directory.ParentId    = context.StringValue("DescribeDirectories.Directories[" + i + "].ParentId");
                directory.CreatedTime = context.StringValue("DescribeDirectories.Directories[" + i + "].CreatedTime");

                describeDirectoriesResponse_directories.Add(directory);
            }
            describeDirectoriesResponse.Directories = describeDirectoriesResponse_directories;

            return(describeDirectoriesResponse);
        }