Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何返回JSON非关联数组_C#_C# 4.0_Json.net_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack_Dapper - Fatal编程技术网 servicestack,dapper,C#,C# 4.0,Json.net,servicestack,Dapper" /> servicestack,dapper,C#,C# 4.0,Json.net,servicestack,Dapper" />

C# 如何返回JSON非关联数组

C# 如何返回JSON非关联数组,c#,c#-4.0,json.net,servicestack,dapper,C#,C# 4.0,Json.net,servicestack,Dapper,我正在编写返回JSON对象数组的简单API: [ { "Id": 134649, "Type_id": 6, "Latitude": 56.904220, "Longitude":14.823440 }, { "Id": 134660, "Type_id": 6, "Latitude": 56.884040, "Longitude":14.761

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

[
    {
        "Id": 134649,
        "Type_id": 6,
        "Latitude": 56.904220,
        "Longitude":14.823440
    },
    {
        "Id": 134660,
        "Type_id": 6,
        "Latitude": 56.884040,
        "Longitude":14.761320
    }
]
这是由
响应生成的。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;
列表条目=新列表();
使用(IDbConnection db=Connection.Instance())
{
db.Open();
entries=db.Query(Query.ToString(),parameters.ToList();
}
返回条目;
问题

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

如果我将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;
列表条目;
使用(IDbConnection db=Connection.Instance()){
db.Open();
entries=db.Query(Query.ToString(),参数)
.Select(e=>newobject[]{e.Id,e.Type_Id,e.纬度,e.经度})
.ToList();
}
返回条目;

啊,林克。对我怎么没想到。。。谢谢你,伙计!