C# post json 匿名类 序列化
//第一步 建立HTTP请求对象
var httpWebRequest = (HttpWebRequest)WebRequest.Create(apiURL);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST"; //第二步 生产请求报文
var requestObject = new {
method="Query"
,senderId=senderId
,serviceId=serviceId
,userCardId=userCardId
,userCertId=userCertId
,userDept=userDept
,userName=userName
, param= new {
DataObjectCode = "NNNN"
,Condition="SFZH='11223344'"
,RequiredItems="[\"XM\",\"SFZH\"]"
,InfoCodeMode="1"
}
}; JavaScriptSerializer js = new JavaScriptSerializer(); string jsonData = js.Serialize(requestObject); //params是C#关键字,所以最后代替一下解决。
//'\'单引号在json序列化时会被译为unicode编码,最后解码即可。 textBox1.Text =jsonData= Regex.Unescape(jsonData.Replace("param", "params")); //DataContractJsonSerializer 序列化JSON需要显式定义类,且需要标记类成员属性,比较麻烦暂不用了
//DataContractJsonSerializer dj = new DataContractJsonSerializer(requestObject.GetType());
//MemoryStream msObj = new MemoryStream();
//dj.WriteObject(msObj, requestObject);
//textBox1.AppendText("\n" + msObj.ToString());
try
{
//第三步 发送请求
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
streamWriter.Write(jsonData);
streamWriter.Flush();
streamWriter.Close();
} //第四步 得到返回报文
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var resualt = streamReader.ReadToEnd();
textBox2.Text = resualt;
}
}
catch (Exception ex) {
textBox2.Text = ex.Message;
}
C# post json 匿名类 序列化的更多相关文章
- 关于Gson无法将匿名类转化为json字符串的问题
在使用gson过程中,一般会将数据存在一个对象模型中,使用gson将模型转换成json字符串用于数据交互. 代码形如: ArrayList<String> list = new Array ...
- 利用<JavascriptSerializer类> 进行Json对象的序列化和反序列化
1. 首先, JavascriptSerializer类所在名空间: using System.Web.Script.Serialization; 2. 相关的3篇文章, 标记下: 使用JavaScr ...
- 利用JavaScriptSerializer类 进行Json对象的序列化和反序列化和过滤
项目下载:JavaScriptSerializer_对JSON对象序列化与反序列化及过滤器 利用<JavascriptSerializer类> 进行Json对象的序列化和反序列化 1. 首 ...
- .net core Json字符串的序列化和反序列化通用类源码,并模拟了10万数据对比DataContractJsonSerializer和Newtonsoft性能
我们在开发中Json传输数据日益普遍,有很多关于Json字符串的序列化和反序列化的文章大多都告诉你怎么用,但是却不会告诉你用什么更高效.因为有太多选择,人们往往会陷入选择难题. 相比.NET Fram ...
- 【ASP.NET Web API教程】6.2 ASP.NET Web API中的JSON和XML序列化
谨以此文感谢关注此系列文章的园友!前段时间本以为此系列文章已没多少人关注,而不打算继续下去了.因为文章贴出来之后,看的人似乎不多,也很少有人对这些文章发表评论,而且几乎无人给予“推荐”.但前几天有人询 ...
- Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET W ...
- ASP.NET Web API中的JSON和XML序列化
ASP.NET Web API中的JSON和XML序列化 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok ...
- json 常用的序列化 反序列化对象 代码
序列化对象: ---------------------------------------------------------- Person p = new Person() { Name = & ...
- return Json对象时序列化错误
当要序列化的表与另一个表是一对多的关系是,表1序列化时会找到另一个表2关联的字段,会将另一个表2进行序列化,然后表2中也有一个字段与表1关联,这样序列化就会产生循环序列化. 在网上进行搜索,其中大多数 ...
随机推荐
- logstash-input-jdbc同时同步多个表
同步一个表,可以参考我的上一篇 logstash-jdbc-input与mysql数据库同步 同步多个表的做法,跟一个表类似,唯一不同的是 .conf 文件中的配置 在这里我加了一个脚本文件jdbc- ...
- 「每日一码」a&b赋值问题
每日一码 将每天看到的优秀的代码或者特别的实现,记录下来 a&b赋值问题 2019-2-18 var a = {n: 1}; var b = a; a.x = a = {n: 2}; Q&am ...
- How to check Logstash's pulse
Have you ever wondered if Logstash was sending data to your outputs? There's a brand new way to chec ...
- nginx报错整理
一. 1.线上有个域名出现一个访问报错: 413 Payload Too Large 这里贴一下关于这个报错的解释: The 413 (Payload Too Large) status code i ...
- git 分支 branch 操作
创建分支 git branch test: 基于当前commit创建test分支..git/HEAD 文件中记录了当前分支名字. 删除分支 git branch -d test:删除本地test分支 ...
- Spring @ResponseStatus
@ResponseStatus这个注解确实是个令我头疼的注解. 先记录下@ResponseStatus注解的定义. 记录几个得到的信息:@ResponseStatus声明在方法.类上, Spring3 ...
- smarty 模板标签
smarty 模板标签 变量标签 数组变量标签 变量调节器 条件标签 循环标签 数组变量标签 模板加载标签 预定义变量标签 常量标签
- APIO 2018 游记
上接CTSC 2018 游记 day1 早上大概八九点起来洗了个澡跑到隔壁寝发现 tj 还在??? 原来昨天晚上听错名字了... 下午一起去 wfj 王府井玩,陪李总逛逛奢侈品店... 走了两三个小时 ...
- [转]bootstrap栅格系统的属性及使用
本文转自:https://www.cnblogs.com/LJYqq/p/6791512.html 栅格系统 媒体查询 在栅格系统中,我们在 Less 文件中使用以下媒体查询(media query) ...
- MVC会员注册
自从写了<数据库数据加密与解密>http://www.cnblogs.com/insus/p/3434735.html.其中也有提及Insus.NET将要在MVC应用程序中实现会员注册的功 ...