我正在构建一个 .NET WebApi 项目。我的一个 ApiControllers 返回一个数据表。在 JSON 格式中,一切看起来都不错,但 XML 格式包含太多我不需要的垃圾。
所以,我在想,让我们编写自己的 XML 序列化。为此,我创建了一个实现 IXmlSerializable 的新类。它看起来像这样:
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; }
}
现在我的 XML 看起来很棒,但我的 JSON 不是。JSON 看起来像:
{"Data":[{"id":1,"name":"John"},{"id":2,"name":"Julia"}]}
我真正想要的是:
[{"id":1,"name":"John"},{"id":2,"name":"Julia"}]
有没有一种简单的方法可以从 JSON 结果中删除“数据”字符串,而无需重写整个内容?还是有比这个更好的解决方案?