Comment retourner un tableau JSON non associatif

c# c#-4.0 dapper json.net servicestack

Question

J'écris une API simple qui retourne un tableau d'objets JSON:

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

Ceci est généré par le modèle Response.MapEntries j'ai écrit:

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

Et rempli et retourné comme ceci:

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;

PROBLÈME

La réponse JSON contient des informations inutiles telles que les noms d'objet JSON. Sur demande, il peut renvoyer jusqu'à 20000 (1,2 Mo) enregistrements (image de démonstration: http://i.imgur.com/67dsPuh.jpg ).

Je pense que je peux économiser environ 40% de transfert de données, si je change JSON à des tableaux non associatifs. Mais je ne sais pas comment faire, car je suis nouveau avec C # et les langages stricts.

Réponse Je veux: [[134649, 6, 56.884040, 14.761320],[134649, 6, 56.884040, 14.761320]]

Réponse acceptée

Lorsque vous mélangez des types de données, renvoyez chaque élément sous la forme d'un tableau d'objets:

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;


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi