.NET WebApi + DataTable
Baue ich ein .NET WebApi-Projekt. Einer meiner ApiControllers gibt eine datatable. Im JSON-format, es sieht alles gut aus, aber das XML-format enthält so viel junk-brauche ich nicht.
So, ich dachte, wir schreiben meiner eigenen XML-Serialisierung. Dafür habe ich eine neue Klasse, die die IXmlSerializable implementiert. Es sieht wie folgt aus:
public class MyDataTable : IXmlSerializable
{
public MyDataTable(DataTable datatable)
{
this.Data = datatable;
}
public void WriteXml(XmlWriter writer)
{
writer.WriteStartElement("Test");
writer.WriteElementString("T", "hello world");
writer.WriteEndElement();
}
public XmlSchema GetSchema()
{
return null;
}
public void ReadXml(XmlReader reader)
{
throw new NotImplementedException();
}
public DataTable Data { get; set; }
}
Nun meine XML sieht toll aus, aber mein JSON nicht.
Das JSON sieht wie folgt aus:
{"Data":[{"id":1,"name":"John"},{"id":2,"name":"Julia"}]}
Was ich wirklich will, ist dies:
[{"id":1,"name":"John"},{"id":2,"name":"Julia"}]
Gibt es eine einfache Möglichkeit, entfernen Sie die "Data"-string der JSON-Ergebnis, ohne das umschreiben der ganzen Sache?
Oder gibt es eine bessere Lösung als diese?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich geschrieben habe, meine eigenen datatable-Serialisierung zu erreichen, mein Ziel.
Dem interessierten Volk:
Und eine benutzerdefinierte JSON-Konverter:
Umsetzung der neuen DataTable-Klasse wie folgt aus:
Versuchen, indem [XmlElement] oben
Data
.