這篇文章主要介紹了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#程序設計有所幫助。
新聞熱點
疑難解答