.net通过类组装数据转换为json并且传递给对方接口

2024-09-05 02:20

本文主要是介绍.net通过类组装数据转换为json并且传递给对方接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、根据传递字段创建一个类

public class User

{

 public string code{ get; set; }

public string name{ get; set; }

public string? email{ get; set; }

public string? address{ get; set; }

}

2、根据对方返回字段创建一个类

public class Result
{
    /// <summary>
    /// 数据接收成功
    /// </summary>
    public string msg { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string code { get; set; }
}

3、组装数据并且转换为json传递给某个接口

private void TransferToJson()

{

User  user= new User();

user.code="zhangsan";

user.name="张三";

user.email="12334567890@163.com";

user.address="上海市静安区";

//转换为json串

string json = "[" + JsonConvert.SerializeObject(user) + "]";

string url="对方的接口地址";

HttpWebRequest req = GetWebRequest(url, "POST", null);
req.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8");
req.ContentType = "application/json";

 byte[] postData = Encoding.UTF8.GetBytes(json);
 Stream reqStream = req.GetRequestStream();
 reqStream.Write(postData, 0, postData.Length);
 reqStream.Close();

HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();
var code = string.IsNullOrEmpty(rsp.CharacterSet) || "ISO-8859-1".Equals(rsp.CharacterSet, StringComparison.CurrentCultureIgnoreCase) ? "UTF-8" : rsp.CharacterSet;
Encoding encoding = Encoding.GetEncoding(code);
string response = GetResponseAsString(rsp, encoding);

Result rs = JsonConvert.DeserializeObject<Result>(response);
//对方返回的结果
if (rs.code == "200")
{

//记录到日志
    Log(rs.msg + ":" + json);
}
else
{
    throw new System.Exception(rs.msg);
}

}

4、日志函数

private void Log(string LogStr)
{
    //Trace.WriteLine(LogStr);
    //return;
    StreamWriter sw = null;
    try
    {
        LogStr = DateTime.Now.ToLocalTime().ToString() + "\n" + LogStr;
        sw = new StreamWriter("C:\\PLMLoggerData\\DangAnData" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", true);
        sw.WriteLine(LogStr);
    }
    catch
    {
    }
    finally
    {
        if (sw != null)
        {
            sw.Close();
        }
    }
}

这篇关于.net通过类组装数据转换为json并且传递给对方接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE