发布日期:2018-03-26
将C#对象转换为.NET 4中的JSON字符串+ 查看更多
将C#对象转换为.NET 4中的JSON字符串
+ 查看更多
发布日期:2018-02-24 17:12
分类:C#
浏览次数:130
有如下类
class MyDate { int year, month, day; } class Lad { string firstName; string lastName; MyDate dateOfBirth; }
我想将一个 Lad 对象转换成JSON字符串,如下所示:
{ "firstName":"Markoff", "lastName":"Chaney", "dateOfBirth": { "year":"1901", "month":"4", "day":"30" } }
我发现这个链接( [[http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer(v=vs.110).aspx]] ), 使用了.NET 4中没有的命名空间 System.Web.Script.Serialization。我也听说过JSON.NET,但他们的网站似乎在关闭,我不热衷于使用外部DLL文件。 除手动创建JSON字符串外,还有其他选项吗?
回答
你可以使用 JavaScriptSerializer 类(添加对 System.Web.Extensions 的引用):
using System.Web.Script.Serialization; var json = new JavaScriptSerializer().Serialize(obj);
完整的示例如下:
using System; using System.Web.Script.Serialization; public class MyDate { public int year; public int month; public int day; } public class Lad { public string firstName; public string lastName; public MyDate dateOfBirth; } class Program { static void Main() { var obj = new Lad { firstName = "Markoff", lastName = "Chaney", dateOfBirth = new MyDate { year = 1901, month = 4, day = 30 } }; var json = new JavaScriptSerializer().Serialize(obj); Console.WriteLine(json); } }