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-2-插件配置
配置语法: Logstash必须有一个 input 和一个 output 1, 处理输入的input 1), 从文件录入 logstash使用一个名为 filewatch的 ruby gem库来监听 ...
- map集合的见解、排序
map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等 HashMap:我们最常用的Map,它根据key的HashCode 值 ...
- MYSQL用户权限管理(Grant,Revoke)
MySQL可以为不同的用户分配严格的.复杂的权限.这些操作大多都可以用SQL指令Grant(分配权限)和Revoke(回收权限)来实现. Grant可以把指定的权限分配给特定的用户,如果这个用户不存在 ...
- Tomcat学习总结(11)——Linux下的Tomcat安全优化
1.web.xml配置及修改: 站点默认主页: <welcome-file-list> <welcome-file>index.html</welcome-file> ...
- mysql索引总结(4)-MySQL索引失效的几种情况
mysql索引总结(1)-mysql 索引类型以及创建 mysql索引总结(2)-MySQL聚簇索引和非聚簇索引 mysql索引总结(3)-MySQL聚簇索引和非聚簇索引 mysql索引总结(4)-M ...
- Solr 访问 403 错误
把 Solr 基础环境搭建好后访问发现会出现 403 错误: 解决方法: 找到自己 Tomcat 目录下的 solr ,找到 ...\solr\WEB-INF\web.xml,然后把 169 - 1 ...
- 分布式理论(四)—— 一致性协议之 3PC
前言 我们说为了实现 BASE 理论,需要在可用性和一致性之间找到一个合适的一致性理论,于是,我们在上篇文章中了解了 2PC 理论,也就是两阶段提交,二阶段提交原理简单,实现方便,但是缺点则是同步阻塞 ...
- linux中使用Crontab定时执行java的jar包无法使用环境变量的问题
1.crontab简单使用 cmd 其实就是5个星星的事情,随便百度一下吧 5个时间标签用来标注执行的设定.比如每5分钟执行一次/5 * * * cmd 要特别注意 2.有些命令在命令行里执行很好,到 ...
- java - 线程等待与唤醒
Java多线程系列--“基础篇”05之 线程等待与唤醒 概要 本章,会对线程等待/唤醒方法进行介绍.涉及到的内容包括:1. wait(), notify(), notifyAll()等方法介绍2. w ...
- hadoop学习之hdfs文件系统
一.hdfs的概念 Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS. Hadoop是Apache Lucene创始人Doug Cu ...