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

6,575次阅读
没有评论

共计 1647 个字符,预计需要花费 5 分钟才能阅读完成。

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
{
    ///

    /// 数据接收成功
    ///

    public string msg {get; set;}
    ///

    /// 
    ///

    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(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:PLMLoggerDataDangAnData” + DateTime.Now.ToString(“yyyy-MM-dd”) + “.txt”, true);
        sw.WriteLine(LogStr);
    }
    catch
    {
    }
    finally
    {
        if (sw != null)
        {
            sw.Close();
        }
    }
}

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

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-11-07发表,共计1647字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)