C# 对象与JSON串互相转换

摘要:
使用系统;使用系统。IO;使用系统。文本使用Newtonsoft。Json;namespaceOfflineAcceptControl。UCTools{publicclassJsonTools{//从对象信息publicstaticstringObjectToJson(objectobj){returnJavaScript Co生成Json字符串
using System;
using System.IO;
using System.Text;
using Newtonsoft.Json;

namespace OfflineAcceptControl.UCTools
{
public class JsonTools
{
// 从一个对象信息生成Json串
public static string ObjectToJson(object obj)
{
return JavaScriptConvert.SerializeObject(obj);
}
// 从一个Json串生成对象信息
public static object JsonToObject(string jsonString, object obj)
{
return JavaScriptConvert.DeserializeObject(jsonString, obj.GetType());
}
}
}

Donet3.5自带了DLL处理json串

注意引用:System.Runtime.Serialization,System.ServiceModel.Web

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;

namespace CrjIIOfflineAccept.CrjIITools
{
public class JsonTools
{
// 从一个对象信息生成Json串
public static string ObjectToJson(object obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
MemoryStream stream = new MemoryStream();
serializer.WriteObject(stream, obj);
byte[] dataBytes = new byte[stream.Length];
stream.Position = 0;
stream.Read(dataBytes, 0, (int)stream.Length);
return Encoding.UTF8.GetString(dataBytes);
}
// 从一个Json串生成对象信息
public static object JsonToObject(string jsonString, object obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
return serializer.ReadObject(mStream);
}
}
}

免责声明:文章转载自《C# 对象与JSON串互相转换》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ElasticSearch性能优化策略【转】解决Vue报错:Invalid prop: type check failed for prop "id". Expected Number with value 14, got String with value "14".下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

数据绑定流程分析

1.    数据绑定流程原理★ ①   Spring MVC 主框架将 ServletRequest  对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象 ②   DataBinder 调用装配在 Spring MVC 上下文中的 ConversionService 组件进行数据类型转换、...

TreeMap 的排序冲突吗

今天在网上看到一个问题:一个已经构建好的 TreeSet,怎么完成倒排序? 网上给出的答案是: 通过TreeSet构造函数传入一个比较器,指定比较器进行排序为原排序的倒叙。 TreeSet的自然排序是根据集合元素的大小,TreeSet将他们以升序排列。如果需要实现定制排序,例如降序,则可以使用Comparator接口。该接口里包含一个int compar...

Linuxshell脚本之if条件判断

复制代码 代码如下: if list then do something here elif list then do another thing here else do something else here fi EX1: 复制代码 代码如下: #!/bin/shSYSTEM=`uname -s` #获取操作系统类型,我本地是linuxif...

UITextView 和 UITextField限制字符数和表情符号

UITextField限制字符数 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ int pMaxLength = 12; NSInteg...

Dev控件常用属性【转载】

1、 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2、 如何新增一条记录 (1)、gridView.AddNewRow() (2)、实现 gridView_InitNewRow 事件 3、如何解决 GridControl 记录能获取而没有显示出来的问题 grid...

System.Windows.Forms.PropertyGrid的使用

PropertyGrid 控件简介 .NET 框架 PropertyGrid 控件是 Visual Studio .NET 属性浏览器的核心。PropertyGrid 控件显示对象或类型的属性,并主要通过使用反射来检索项目的属性。当我们创建了一个类编译之后就生成了类的Metadata,元数据。PropertyGrid 就是使用反射来展示和修改类的公共属性...