C# 如何返回JSON非关联数组
我正在编写返回JSON对象数组的简单API: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
[
{
"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();
}
返回条目;
啊,林克。对我怎么没想到。。。谢谢你,伙计!