HttpClient 远程post,获取数据并对数组进行处理

浪淘沙1周前后端16
using System.Text.Json;

namespace xxtsoft.Web.Entry.Pages.sysadmins.ansyc
{
    public class teacherModel : PageModel
    {
       
        public async Task<IActionResult> OnGetAsync()
        {

          

            var url = "https://xxx.com/sdata/rest/service/dataapi/rest/0e522301-5fa3-43e2-bff3-a73cc2943305";

            var body = new
            {
                key = "39e8109cc",
                GH= ""

            };

            var json =System.Text.Json.JsonSerializer.Serialize(body);

            using var client = new HttpClient();
            var content = new StringContent(json, Encoding.UTF8, "application/json");

            var response = await client.PostAsync(url, content);
            var result = await response.Content.ReadAsStringAsync();

            using var doc = JsonDocument.Parse(result);

            var resultArray = doc.RootElement.GetProperty("result");


            //for (int i = 0; i < resultArray.GetArrayLength(); i++)
            //{
            //    string DEPT_ID = resultArray[i].GetProperty("DEPT_ID").GetString();
            //    string GH = resultArray[i].GetProperty("GH").GetString();
            //    string DEPT_NAME = resultArray[i].GetProperty("DEPT_NAME").GetString();
            //    string XM = resultArray[i].GetProperty("XM").GetString();
            //    string USER_TYPE = resultArray[i].GetProperty("USER_TYPE").GetString();

            //    string XBMC = "";
            //    if (resultArray[i].TryGetProperty("XBMC", out var xbmcElement))
            //    {
            //        XBMC = xbmcElement.GetString() ?? "";
            //    }

            //    //Log.Information($"部门编码{DEPT_ID}工号{GH}部门名称{DEPT_NAME}姓名{XM}人员类型{USER_TYPE}性别名称{XBMC}");


            //}

            foreach (var item in resultArray.EnumerateArray())
            {
                string DEPT_ID = GetString(item, "DEPT_ID");
                string GH = GetString(item, "GH");
                string DEPT_NAME = GetString(item, "DEPT_NAME");
                string XM = GetString(item, "XM");
                string USER_TYPE = GetString(item, "USER_TYPE");
                string XBMC = GetString(item, "XBMC");

                Log.Information($"部门编码{DEPT_ID} 工号{GH} 部门名称{DEPT_NAME} 姓名{XM} 人员类型{USER_TYPE} 性别名称{XBMC}");
            }

            return Content(result);

        }

        private static string GetString(JsonElement element, string propertyName)
        {
            return element.TryGetProperty(propertyName, out var value)
                ? value.GetString() ?? ""
                : "";
        }


    }

}


相关文章

asp.net core 获取url及参数

  var url = $"{Request.Scheme}://{Request.Host}{Request.Path}{Request....

json解析

{   "accessToken": "xxxxxx",   "refreshToken&quo...

使用 Razor Pages 的多个 Handler

<form method="post" asp-page-handler="Save">    ...

visual studio 配置 asp.net core razor .shtml文件类型和包含,支持跨平台通用

自己在 ASP.NET Core 里写 Middleware 解析 SSI自己在 ASP.NET Core 里写 Middleware 解析 ...

返回月份当天日期

  int daysInMonth = DateTime.DaysInMonth(_yf.Year, _yf.Month);...

asp.net core Razor 部门视图Partial Views 用法

1、在/Pages/Shared/目录下创建设视图文件 _top.cshtml2、在razor页面中进行引用@await Html.PartialAsync("_top&...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。