asp.net 引用webapi接收返回的Json类型数据

2024-08-23 03:18

本文主要是介绍asp.net 引用webapi接收返回的Json类型数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在网上查到了一些例子加上自己的一些修改,改写了这个方法

        private async Task<string> InvokeWebapi(string strurl, string strapi, string strtype, string strJson){HttpClient client = new HttpClient();//client.DefaultRequestHeaders.Add("","");client.BaseAddress = new Uri(strurl);client.Timeout = TimeSpan.FromSeconds(510);string result = "";if (strtype.ToLower() == "post"){// var content = new FormUrlEncodedContent(dics);var content = new StringContent(strJson);content.Headers.ContentType = new MediaTypeHeaderValue("application/json");content.Headers.ContentLength = (Encoding.UTF8.GetBytes(strJson)).Length;HttpResponseMessage response = client.PostAsync(strapi, content).Result;if (response.IsSuccessStatusCode){result = await response.Content.ReadAsStringAsync();}}else if (strtype.ToLower() == "get"){HttpResponseMessage response = client.GetAsync(strapi).Result;if (response.IsSuccessStatusCode){result = await response.Content.ReadAsStringAsync();}}//对结果处理JObject jo = new JObject();jo = (JObject)JsonConvert.DeserializeObject(result);var nRet = jo.ToString();//如果要解析里面的某个实体对象:((JObject)jo["data"]).toString();//data是对应的字段名称return nRet;}/// <summary>/// 解析JSON字符串生成对象实体/// </summary>/// <typeparam name="T">对象类型</typeparam>/// <param name="json">json字符串(eg.{"ID":"112","Name":"石子儿"})</param>/// <returns>对象实体</returns>public static T DeserializeJsonToObject<T>(string json) where T : class{try{JsonSerializer serializer = new JsonSerializer();StringReader sr = new StringReader(json);object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T));T t = o as T;return t;}catch (Exception){return null;}}

调用如下

      string sJson = JsonConvert.SerializeObject(new { id, name});//api传入是json字符串string strResult=  InvokeWebapi("网址", "网站/api/控制器名称", "POST", sJson).Wait();api = DeserializeJsonToObject<ApiResult>(strResult);//api是实体类

这篇关于asp.net 引用webapi接收返回的Json类型数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1098196

相关文章

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)

《MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)》本文给大家介绍MyBatis的xml中字符串类型判空与非字符串类型判空处理方式,本文给大家介绍的非常详细,对大家的学习或... 目录完整 Hutool 写法版本对比优化为什么status变成Long?为什么 price 没事?怎

MySQL数据脱敏的实现方法

《MySQL数据脱敏的实现方法》本文主要介绍了MySQL数据脱敏的实现方法,包括字符替换、加密等方法,通过工具类和数据库服务整合,确保敏感信息在查询结果中被掩码处理,感兴趣的可以了解一下... 目录一. 数据脱敏的方法二. 字符替换脱敏1. 创建数据脱敏工具类三. 整合到数据库操作1. 创建服务类进行数据库