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

时间:2018-08-29 03:52:41

标签: c# rest api sharepoint

由于分页,我多次从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并作为一个对象返回

1 个答案:

答案 0 :(得分: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;