json序列化与反序列化
Posted 81
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json序列化与反序列化相关的知识,希望对你有一定的参考价值。
方法1 :
需要手工添加引用:System.Web.Extensions,使用较方便:
Dictionary<string, string> dict = new Dictionary<string, string>();
dict["s"] = "s1";
dict["t"] = "t1";
System.Web.Script.Serialization.javascriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string json = serializer.Serialize(dict);
dict = serializer.Deserialize<Dictionary<string, string>>(json);
方法2:
不需手工添加,但使用较复杂
Dictionary<string, string> dict = new Dictionary<string, string>();
dict["s"] = "s1";
dict["t"] = "t1";
System.Runtime.Serialization.Json.DataContractJsonSerializer p = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(Dictionary<string, string>));
System.IO.MemoryStream ms = new System.IO.MemoryStream();
p.WriteObject(ms, dict);
string str = System.Text.Encoding.UTF8.GetString(ms.ToArray());
byte[] b = System.Text.Encoding.UTF8.GetBytes(str);
ms = new System.IO.MemoryStream(b);
dict = p.ReadObject(ms) as Dictionary<string, string>;
方法3:
使用开源组件Newtonsoft.Json(下载地址http://json.codeplex.com/)
另外:json基本也是序列化和反序列化的问题,以下是c#本身的序列化组件
NET框架提供了两种串行化的方式:
1、是使用BinaryFormatter进行串行化;
2、使用SoapFormatter进行串行化;
3、使用XmlSerializer进行串行化。
以上是关于json序列化与反序列化的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin中Json的序列化与反序列化 -- GsonMoshi
Kotlin中Json的序列化与反序列化 -- GsonMoshi