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关联,这样序列化就会产生循环序列化. 在网上进行搜索,其中大多数 ...
随机推荐
- j2ee高级开发技术课程第四周
分析hello.java,在hello1项目中.下载链接:https://github.com/javaee/tutorial-examples/tree/master/web/jsf/hello1 ...
- VIM学习网址和资料收集
摘要:这篇博客主要收集一些学习VIM的好网址和资料 娄老师的一篇VIM 原文地址:http://www.cnblogs.com/rocedu/p/6012444.html Github上VIM的学习 ...
- OpenStack 对接 Ceph
[TOC] 1. Openstack 与 Ceph 1.1. Ceph 简介 Ceph 是当前非常流行的开源分布式存储系统,具有高扩展性.高性能.高可靠性等优点,同时提供块存储服务(RBD).对象 ...
- Spring Actuator源码分析(转)
转自:http://blog.csdn.net/wsscy2004/article/details/50166333 Actuator Endpoint Actuator模块通过Endpoint暴露一 ...
- Hibernate 分页 查询
昨天的作业 分页: 主要的代码块:(明天实现分页的封装) package com.cy.beans; import java.util.List; /** * 定义一个分页对象 * @author ...
- SpringBoot学习(一)——Spring的发展
一.Spring1.x时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在Java类和xml配置文件中切换. 二.S ...
- Spring配置文件引入xml文件: <import resource=" " />标签使用总结
引入其他模块XML 在Spring的配置文件,有时候为了分模块的更加清晰的进行相关实体类的配置. 比如现在有一个job-timer.xml的配置 <?xml version="1.0& ...
- UVa Dropping Balls
题目链接: https://cn.vjudge.net/problem/UVA-679 /* 问题 输入完全二叉树的层数D和有几个小球滚落,计算最后一个小球落入的叶子结点的小号. 解题思路 直接模拟超 ...
- [转]WordPress主题开发:主题初始化
本文转自:http://www.cnblogs.com/tinyphp/p/4391182.html 在最简单的情况下,一个WordPress主题由两个文件构成: index.php -------- ...
- AutoMapper之投影
7.投影 AutoMapper有一种自定义映射,叫投影.接下来我们通过一个示例来了解它 7.1示例 //源对象 public class CalendarEvent { public DateTime ...