如何返回 JSON 非关联数组



我正在编写返回JSON对象数组的简单API:

[
    {
        "Id": 134649,
        "Type_id": 6,
        "Latitude": 56.904220,
        "Longitude":14.823440
    },
    {
        "Id": 134660,
        "Type_id": 6,
        "Latitude": 56.884040,
        "Longitude":14.761320
    }
]

这是由我写Response.MapEntries模型生成的:

class MapEntries
{
    public ulong Id { get; set; }
    public int Type_id { get; set; }
    public decimal Latitude { get; set; }
    public decimal Longitude { get; set; }
}

像这样填充并返回:

List<Response.MapEntries> entries = new List<Response.MapEntries>();
using (IDbConnection db = Connection.Instance())
{
    db.Open();
    entries = db.Query<Response.MapEntries>(query.ToString(), parameters).ToList();
}
return entries;

问题

JSON

响应包含无用的信息,例如 JSON 对象的名称。通过一个请求,它可以返回多达 20000(1.2MB) 条记录(演示图像:https://i.stack.imgur.com/Corw5.jpg)。

我想如果我将 JSON 更改为非关联数组,我可以节省大约 40% 的数据传输。但我不知道该怎么做,因为我是 C# 和严格类型语言的新手。

我想要的响应:[[134649, 6, 56.884040, 14.761320],[134649, 6, 56.884040, 14.761320]]

混合数据类型时,将每个项目作为对象数组返回:

List<object[]> entries;
using (IDbConnection db = Connection.Instance()) {
  db.Open();
  entries = db.Query<Response.MapEntries>(query.ToString(), parameters)
    .Select(e => new object[] { e.Id, e.Type_id, e.Latitude, e.Longitude })
    .ToList();
}
return entries;

相关内容

  • 没有找到相关文章

最新更新