首页 > 编程 > C# > 正文

C#编程实现对象与JSON串互相转换实例分析

2020-01-24 01:23:09
字体:
来源:转载
供稿:网友

本文实例分析了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#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表