netframework 4.0内置处理JSON对象

前言

必须的是 .netframewoke 4.0的项目才能使用。

 

内容

1.项目添加System.Runtime.Serialization引用。

2.JsonHelper通用类的代码如下:

using System;
using System.Text;
//--------------------------using
using System.Runtime.Serialization.Json; // 添加引用(.Net 4.0) System.Runtime.Serialization
/// <summary>
/// JSON辅助类 字符<==>对象(注意:字符里属性的大小写与对象的属性大小写必须保持一致)
/// </summary>
public class JsonHelper
{
#region 对象类型转换为json 字符
/// <summary>
/// 对象类型转换为json 字符
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="jsonObject">待转换实体</param>
/// <param name="encoding">编码格式</param>
/// <returns>string</returns>
public static string ObjectToJson<T>(Object jsonObject, Encoding encoding)
{
string result = String.Empty;
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
serializer.WriteObject(ms, jsonObject);
result = encoding.GetString(ms.ToArray());
}
return result;
}
#endregion
#region json字符转换为对象
/// <summary>
/// json字符转换为对象
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="json">json字符串</param>
/// <param name="encoding">编码格式</param>
/// <returns>T</returns>
public static T JsonToObject<T>(string json, Encoding encoding)
{
T resultObject = Activator.CreateInstance<T>();
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(encoding.GetBytes(json)))
{
resultObject = (T)serializer.ReadObject(ms);
}
return resultObject;
}
#endregion
}

 

结束

需要注意的是,字符里属性的大小写与对象的属性大小写,必须保持一致,才不会出现问题!

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5 java 图片上传_java实现图片上传至服务器并显示,如何做?希望要具体的代码实现...

展开全部有两种方法一是用上传的组建jspSmartUpload的Request&#xff0c;还有一种不用组建&#xff0c;但在e69da5e6ba9062616964757a686964616f31333238653233form表单中不能加入ENCTYPE "multipart/form-data "我给你的案例吧建立后台数据库if exists (select * f…

CISCO的GLBP(网关负载均衡协议)

名词定义&#xff1a;活动虚拟网关AVG: 它的优先级最高&#xff0c;应答所有ARP请求&#xff0c;反回哪个MAC地址&#xff0c;取决于采用的负载均衡方式AVG还给GLBP组中的每台路由器分配虚拟MAC地址&#xff0c;最多每个组可以分到4个&#xff0c;组里的每台路由器都被称为活动…

net发布的dll方法和类显示注释信息(字段说明信息)[图解]

自己发布的dll添加的另一个项目中突然没有字段说明信息了&#xff0c;给使用带来了很多的不便&#xff0c;原因是为了跨项目引用&#xff0c;所以导致不显示注释信息的&#xff0c;一下是解决这个问题的方法。 在要发布&#xff08;被引用&#xff09;的项目上右键 > 属性 &…

手把手带你玩转Tensorflow 物体检测 API (2)——数据准备

致谢声明 本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型&#xff08;2&#xff09;——训练并使用自己的模型》的基础上优化并总结&#xff0c;此博客链接&#xff1a;https://blog.csdn.net/dy_guox/article/details/79111949&#xff0c;感谢此博…

windows phone 学习(4)

1.Windows Phone8比Windows Phone7多了哪些&#xff1a;支持C&#xff08;组件级的补充&#xff0c;主体还是C#&#xff09;&#xff1b;采用Windows 8 SDK&#xff1b;更多API&#xff1b;2.普通的手机只能通过MarketPlace这个唯一的渠道下载安装软件,开发者帐户机制&#xff…

判断dll是版本(Debug Or Release)[测试通过]

简单的代码&#xff0c;google搜索提炼和分析&#xff0c;主要是利用反射技术&#xff0c;测试通过&#xff0c;抛砖引玉&#xff0c;自娱自乐&#xff0c;多多指教。 publicpartialclass_Default : System.Web.UI.Page{ protectedvoidPage_Load(objectsender, EventArgs e)…

手把手带你玩转Tensorflow 物体检测 API (3)——训练模型

致谢声明 本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型&#xff08;2&#xff09;——训练并使用自己的模型》的基础上优化并总结&#xff0c;此博客链接&#xff1a;https://blog.csdn.net/dy_guox/article/details/79111949&#xff0c;感谢此博…

动态类型var和dynamic和传统确定类型区别和效率

伴随着vs2010的出现&#xff0c;c#4.0的诞生&#xff0c;与之而来的动态类型dynamic更是给net程序员们锦上添花&#xff0c;为自己的程序书写上带来了给大的便利。可到底怎么用&#xff0c;好不好用&#xff0c;效率这么样&#xff0c;也许是大家最迫切关注的&#xff0c;msdn虽…

epel yum源

如果既想获得 RHEL 的高质量、高性能、高可靠性&#xff0c;又需要方便易用(关键是免费)的软件包更新功能&#xff0c;那么 Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux)正好适合你。EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造&…

Windows 7 设置devenv.exe启动版本

我机子上装了有vs 05、vs 08、vs 10如果按上顺序安装的话&#xff0c;在 运行 > devenv 就可以打开最新的vs10 工具&#xff0c;如果顺序是乱的话&#xff0c;就没那么幸运了&#xff0c;也就是说你最后安装的版本将会被你的 devenv 命令打开&#xff0c;原因是最后一次安装…

手把手带你玩转Tensorflow 物体检测 API (4)—— 模型验证

致谢声明 本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型&#xff08;2&#xff09;——训练并使用自己的模型》的基础上优化并总结&#xff0c;此博客链接&#xff1a;https://blog.csdn.net/dy_guox/article/details/79111949&#xff0c;感谢此博…

java 获得文件的行数据_Java 读取文件指定行数据

public class ReadFileDemo1 {/*** 获取错误文件中的记录号* param sourceFile* return*/public static int[] readBadFile(String sourceFile){FileReader in null;LineNumberReader reader null;int[] array new int[0];try {//获取文件总行数long totalLine Files.lines…

几款浏览器JavaScript调试工具

WEB开发工具的使用已经非常普及&#xff0c;如果想要更方便于开发的话&#xff0c;不妨看看本文介绍的15款基于浏览器扩展的WEB开发工具。 1.Firebug Firebug是一款基于Firefox的浏览器扩展组件&#xff0c;它集成了网页CSS &#xff0c;文档对象模型( DOM )和JavaScript调试技…

mysql tomcat列表增删改查_Tomcat-Database

Tomcat-Database介绍根据Tomcat9源码二次开发&#xff0c;增加数据库功能&#xff0c;可一行代码实现CURD安装教程需要先配置Ant&#xff0c;然后在根目录下执行ant命令&#xff0c;即可编译&#xff0c;编译后的目录在Tomcat-Database/output/build下&#xff0c;其中在bin下可…

fatal error C1010: unexpected end of file while looking for precompiled head

致命错误C1010&#xff1a;在寻找预编译指示头文件时&#xff0c;文件未预期结束。 就是没有找到预编译指示信息的头文件。 问题一般发生在&#xff1a;通过添加文件的方式&#xff0c;添加了一些cpp文件到一个MFC的程序&#xff0c;但该cpp文件并不是MFC&#xff0c;而是标准…

Kafka集群部署CentOS 7

一、前言 1、Kafka简介 Kafka是一个开源的分布式消息引擎/消息中间件&#xff0c;同时Kafka也是一个流处理平台。Kakfa支持以发布/订阅的方式在应用间传递消息&#xff0c;同时并基于消息功能添加了Kafka Connect、Kafka Streams以支持连接其他系统的数据(Elasticsearch、Had…

Asp.net中Js、Css文件压缩辅助类

类名&#xff1a;WebCompressUtility.cs 代码如下&#xff1a; /// <summary>/// Js、Css文件压缩辅助类/// Stone_W/// 2011.6.21/// </summary>public class WebCompressUtility{public WebCompressUtility() { }#region 判断浏览器是否支持指定压缩/// <sum…

mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据

首先:在extend里面引入PHPexcel文件,直接根目录导入进去html创建上传按钮上传excel上传文件立即提交重置layui.use([form,upload],function(){var formlayui.form;var uploadlayui.upload;upload.render({ //允许上传的文件后缀elem: #myfile,url: "{:url(sale/do_uploa…

SQL Server 2008 FILESTREAM特性管理文件

在SQL Server 2008中&#xff0c;新的FILESTREAM&#xff08;文件流&#xff09;特性和varbinary列配合&#xff0c;你可以在服务器的文件系统上存储真实的数据&#xff0c;但可以在数据库上下文内管理和访问&#xff0c;这个特性让SQL Server不仅可以维护好数据库内记录的完整…

IP地址、手机归属和身份证查询接口

1. 查询手机&#xff1a;http://www.yodao.com/smartresult-xml/search.s?typemobile&q手机号码 2. 查询IP&#xff1a;http://www.yodao.com/smartresult-xml/search.s?typeip&qIP地址 3. 查询身份证&#xff1a;http://www.yodao.com/smartresult-xml/search.s?…