将多个API响应合并到一个JSON对象C#中

问题描述 投票:0回答:1

我因为分页而多次从C#应用程序调用Sharepoint REST API,并且一次不能返回更多5000条记录。我通过循环调用API

     for (int i = 0; i < 10000; i = i + 5000)
            {
                SP_StrainCodes = "GetByTitle('S%20Codes')/items?$skiptoken=Paged=TRUE%26p_ID=" + i + "&$top=1";
                core_URL = BaseURL_SP + SP_StrainCodes;

                using (var client_sharePoint = new HttpClient(handler))
                {
                    var response = client_sharePoint.GetAsync(core_URL).Result;
                    var responsedata = await response.Content.ReadAsStringAsync();
                    returnObj = JsonConvert.DeserializeObject<SharepointDTO.RootObject>(responsedata);

                    if (returnObj.d.Next == null)
                        continue;
               }
            }
            return returnObj;
        }

如何组合第一次调用的returnObj和第二次调用并返回为一个Object

c# rest api sharepoint
1个回答
0
投票

像这样的东西:

  List<SharepointDTO.RootObject> results = new List<SharepointDTO.RootObject>();

  for (int i = 0; i < 10000; i = i + 5000)
            {
                SP_StrainCodes = "GetByTitle('S%20Codes')/items?$skiptoken=Paged=TRUE%26p_ID=" + i + "&$top=1";
                core_URL = BaseURL_SP + SP_StrainCodes;

                using (var client_sharePoint = new HttpClient(handler))
                {
                    var response = client_sharePoint.GetAsync(core_URL).Result;
                    var responsedata = await response.Content.ReadAsStringAsync();
                    returnObj = JsonConvert.DeserializeObject<SharepointDTO.RootObject>(responsedata);

                    if (returnObj.d.Next == null)
                        continue;
               }

               results.Add(returnObj);
            }
            return results;
© www.soinside.com 2019 - 2024. All rights reserved.