JSON数据压缩传输(一)- 无标记数组

服务端

//需要传回前端的字段
string
[] fields = dto.fields.Split(','); var resluts=new List<dynamic>();
//只取前端使用的字段
//data是取到的数据
foreach (var item in data) {   var obj = new System.Dynamic.ExpandoObject() as IDictionary<string, Object>;   foreach (var field in fields)   {     obj.Add(field, item.GetType().GetProperty(field).GetValue(item));   }   resluts.Add(obj); } //转为无标记数组 var resultarr=new List<dynamic>(); resultarr.Add(fields); foreach (var field in fields) {   var fielsarr=new List<dynamic>();   foreach (var item in resluts)   {     fielsarr.Add(((IDictionary<string, Object>)item)[field]);   }   resultarr.Add(fielsarr); }

 返回的json数组格式形如

[
    [字段名1,字段名2,字段名3...],
    [字段1的值1,字段1的值2,字段1的值3...],
    [字段2的值1,字段2的值2...],
    ...
]

举个例子

[
    [time,value1,value2],
    [00:00:01,00:00:02,00:00:03...],
    [1,2,3,4...]
    ['as','we','obj'....]   
]

 

网页端

//无标记数组转为json
var tojson=[]
//requestdata是返回的数据
for (var i = 0; i < requestdata[1].length; i++) { var jobj = {}; for (var p = 0; p < requestdata[0].length; p++) { jobj[requestdata[0][p]] = requestdata[p+1][i]; } tojson.push(jobj); }

 

posted @ 2023-08-11 14:10  ggtc  阅读(65)  评论(0编辑  收藏  举报
//右下角目录