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

浪淘沙2个月前后端49
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() ?? ""
                : "";
        }


    }

}


相关文章

sqlite数据库备份

  public IActionResult OnPostBf()   {      ...

SqlSugar

   var dt = _db.SqlQueryable<object>("select * fr...

Microsoft Visual Studio Installer Projects 2022的安装与使用

https://www.cnblogs.com/jiayezi/p/15740161.html...

asp.net core razor 输出html

@Html.Raw(Model.HtmlContent)...

asp.net core postgresql 大数据高性能分页

 /// <summary> /// 分页:返回json格式,参数加密 /// </summary> /// <param nam...

asp.net core razor 一个页面,新增,列表,删除,修改等集大成操作

asp.net core razor 一个页面,新增,列表,删除,修改等集大成操作

一、界面二、razor代码@page @model xxtsoft.Web.Entry.Pages.sysadmins.stu.stu_bftz_addModel@{  &nb...

发表评论    

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