将对象编码为JSON

希望我不必在这里重新发明轮子,但有人知道C#中是否有类似于Adobe为AS3提供的将通用对象转换为JSON字符串的类?

例如,当我编码一个对象数组时。

new JSONEncoder(arr).getString(); 

输出:

 [ {"type":"mobile","number":"02-8988-5566"}, {"type":"mobile","number":"02-8988-5566"} ] 

在C#中:

 var jsonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); string json = jsonSerializer.Serialize(yourCustomObject); 

我建议使用Json.NET 。 它不是.Net的核心库的一部分,但它被广泛使用,包括很多微软的产品。 它也是最常用的nuget包 。 它比JavaScriptSerializer更容易使用,效率更高。

 var jsonString = JsonConvert.SerializeObject(someObjet); var myObject = JsonConvert.DeserializeObject(jsonString); 

以下方法适用于我(使用JavaScriptSerializer ):

 public static T FromJson(string input) { JavaScriptSerializer serializer = new JavaScriptSerializer(); return serializer.Deserialize(input); } public static string ToJson(object input) { JavaScriptSerializer serializer = new JavaScriptSerializer(); return serializer.Serialize(input); } 

检查出DataContractJsonSerializer 。

使用DataContractJsonSerializer以JavaScript Object Notation(JSON)格式序列化和反序列化数据。 此序列化引擎将JSON数据转换为.NET Framework类型的实例并转换回JSON数据