首页 > 代码库 > C#下对象与JSON串互相转换
C#下对象与JSON串互相转换
最近在写点东西,要用到对象和JSON互相转换的,总结了下,也可能有错误,也有网上找来的东西,结合在这里记录一下。
在.NET 2.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()); } }}
在.NET 3.5以上有自带的动态链接库可以处理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串互相转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。