- A+
所属分类:.NET技术
最近在做程序接口,每次都要为不同的接口定义不同的返回类型,由于前端只要求返回的数据式JSON格式的串,所以想偷点懒。
一种是直接用object集合直接转成串
var companies = new List<object>(); // ... sql的相关操作 while (reader.Read()) companies.Add(new { id = reader.GetString(0), text = reader.GetString(1) }); // 给集合赋值 // ... 省略了部分代码 return JSONhelper.ToJson(companies);
第二种是用集合类ArrayList,成员直接用匿名类型
var companies = new ArrayList(); // ... sql的相关操作 while (reader.Read()) companies.Add(new { id = reader.GetString(0), text = reader.GetString(1) }); // 给集合赋值 // ... 省略了部分代码 return JSONhelper.ToJson(companies);
第三种是用数组,但匿名数组需要先初始化一个类型,你需要告诉C#你数组里面的是个什么样的数据(类型)。
var companies = new[] { new { id = "0000", text = "全部" } }.ToList(); // ... sql的相关操作 while (reader.Read()) companies.Add(new { id = reader.GetString(0), text = reader.GetString(1) }); // 给集合赋值 // ... 省略了部分代码 return JSONhelper.ToJson(companies);
本质上以上几种方法基本都是一样的,有点像是为了回字有几种写法了...
当然,还有最后一个“绝招”,直接拼接字符串。但我想一般情况下不需要这么干