Cómo devolver JSON no array asociativo

c# c#-4.0 dapper json.net servicestack

Pregunta

Estoy escribiendo API simple que devuelve una matriz de objetos JSON:

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

Esto es generado por el modelo Response.MapEntries que escribí:

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

Y lleno y devuelto así:

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;

PROBLEMA

La respuesta JSON tiene información inútil como nombres de objetos JSON. Mediante una solicitud, puede devolver hasta 20000 (1,2MB) registros (imagen de demostración: http://i.imgur.com/67dsPuh.jpg ).

Creo que puedo ahorrar alrededor del 40% de la transferencia de datos si cambio JSON a matrices no asociativas. Pero no sé cómo hacerlo, porque soy nuevo con C # y los idiomas estrictos.

Respuesta que deseo: [[134649, 6, 56.884040, 14.761320],[134649, 6, 56.884040, 14.761320]]

Respuesta aceptada

Al mezclar tipos de datos, devuelve cada elemento como una matriz de objetos:

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;


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow