c# 对象 与 Json串 转换

下面的对象与json串之间的转换在framework2.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());

        }

    }

}





下面的对象与json串之间的转换在framework3.5下测试通过

注意引用: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);

        }

    }

}

  

你可能感兴趣的:(json)