MyClass myclass = new MyClass(){ name = "boerner", appointment = DateTime.Now }; JavaScriptSerializer serializer = new JavaScriptSerializer(); string s = serializer.Serialize(myclass);
class MyClass { public string name { get; set; } public DateTime appointment { get; set; } }
appointment soll nun "yyyy-MM-dd" formatiert im JSON-String stehen. Also rauskommen soll soetwas:
{"name":"boerner", "appointment":"2011-05-13"}
Per JavaScriptConverter kann man zwar die Formatierung beeinflussen, aber dann müsste man einen Converter für die Klasse MyClass schreiben. Denn JavaScriptConverter.Serialize gibt ein IEnumerable<string, object> zurück. Hat jemand einen Idee, wie man das hinkriegt? Geht das mit dem JavaScriptSerializer überhaupt? Oder muss man da von Hand ran?
Leider geht das nicht. Aber du kannst deine Code recht leicht auf JSON.Net umstellen mit der das was du willst funktioniert.
JSON.Net - Features - Flexible JSON serializer to convert .NET objects to JSON and back again - LINQ to JSON for reading and writing JSON - Writes indented, easy to read JSON - Convert JSON to and from XML - Supports Silverlight and Windows Phone