这篇文章主要介绍了C#编程实现对象与JSON串互相转换的方法,结合实例分析了在DoNet2.0与Donet3.5环境下实现对象与JSON转换的相关技巧,需要的朋友可以参考下
本文实例分析了C#编程实现对象与JSON串互相转换的方法。分享给大家供大家参考,具体如下:
DoNet2.0 需要借助于Newtonsoft.Json.dll
代码如下:
- 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#程序设计有所帮助。
新闻热点
疑难解答