Zur Zeit habe ich eine Klasse, die etwa wie folgt aussieht:Wie kann ich die JSON-Serialisierung anpassen?
public class TestSerilizer
{
public int IntValue;
public DateTime DTValue;
}
und einen Controller, der diese Klasse serialisiert JSON zurückgibt, die etwa wie folgt aussieht:
public ActionResult TestJson()
{
TestSerilizer testDT = new TestSerilizer();
return Json(testDT);
}
Es ist bekannt, dass diese produziert ein Datum, das ungefähr so aussieht wie /Date(123456)/
im JSON, was weniger als wünschenswert ist. Für meine Zwecke möchte ich in der Lage sein, ein Attribut hinzuzufügen, das meine Daten so formatiert, dass sie für meine Sicht sinnvoll sind. Im Idealfall würde Ich mag meine Ansicht Modell ändern etwas wie folgt aussehen:
public class TestSerilizer
{
public int IntValue;
[JSONDateFormatter("hh:mm tt")]
public DateTime DTValue;
}
, die eine JSON-Daten mit dem formatierten Datum erzeugen würde. Gibt es eine Möglichkeit, die JSON-Serialisierung zu entführen, um so etwas zu tun? Es sollte angemerkt werden, dass dies eine große Codebasis ist, die sowohl diese implizite JSON-Serialisierung als auch die explizite Verwendung der JavaScriptSerializer
-Klasse aufweist. Daher würde ich eine Methode bevorzugen, die für beide Situationen funktioniert, aber ich verstehe, dass dies möglicherweise nicht möglich ist.
Termine sind besonders Tuff in json zu bekommen. Ich behandle sie normalerweise als Zeichenfolgen und versuche, sie so zu senden, dass JavaScript sie nicht zu interpretieren oder zu verwalten versucht. –