.NET 4 是否有内置的 JSON 序列化器/反序列化器?
.NET 4 是否附带任何可以序列化/反序列化 JSON 数据的类?
Does .NET 4 come with any class that serializes/deserializes JSON data?
I know there are 3rd-party libraries, such as JSON.NET, but I am looking for something built right into .NET.
I found Data Contracts on MSDN, but it is for WCF, not for Winforms or WPF.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(4)
烟花肆意2024-09-17 12:29:29
有 JavaScriptSerializer 类(尽管您需要引用 System.Web.Extensions 程序集(该类在 WinForms/WPF 应用程序中工作得很好)。此外,即使 DataContractJsonSerializer 类是专为 WCF 设计,它在客户端应用程序中运行良好。
感性2024-09-17 12:29:29
使用此通用类来序列化/反序列化 JSON。
您可以轻松序列化复杂的数据结构,如下所示:
Dictionary<string, Tuple<int, int[], bool, string>>
到 JSON 字符串,然后将其保存在应用程序设置中或其他
public class JsonSerializer
{
public string Serialize<T>(T Obj)
{
using (var ms = new MemoryStream())
{
DataContractJsonSerializer serialiser = new DataContractJsonSerializer(typeof(T));
serialiser.WriteObject(ms, Obj);
byte[] json = ms.ToArray();
return Encoding.UTF8.GetString(json, 0, json.Length);
}
}
public T Deserialize<T>(string Json)
{
using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(Json)))
{
DataContractJsonSerializer serialiser = new DataContractJsonSerializer(typeof(T));
var deserializedObj = (T)serialiser.ReadObject(ms);
return deserializedObj;
}
}
}
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
您可以在任何地方使用 DataContractJsonSerializer 类你想要的,它只是一个.net类,并不限于WCF。有关如何使用它的更多信息,请访问此处和此处。
You can use the DataContractJsonSerializer class anywhere you want, it is just a .net class and is not limited to WCF. More info on how to use it here and here.