将 ExpandoObject 转换为类型,什么更有效,更省时,做那个客户端或服务器端
Converting ExpandoObject to a Type, What is more efficient and less time consuming, doing that client side or server side?
问题定义:
我有一个 ExpandoObject,我需要将其转换为"客户"类型等类型,问题在于没有实现这一目标,我想知道我应该使用 javascript 接近服务器端还是客户端,我可以两种方式实现我想要的,但哪个更有效且耗时更少?
服务器端方法:
public IEnumerable<T> Convert<T>(dynamic self)
{
List<T> model = new List<T>();
var jsSerializer = new JavaScriptSerializer();
foreach (var obj in self)
{
model.Add(jsSerializer.ConvertToType<T>(obj));
}
return model.AsEnumerable();
}
客户端方法:
var model = [];
data.forEach(function (item) {
var property = [];
item.forEach(function (pair) {
property[pair.Key] = pair.Value;
});
model.push(property);
});
二手ORM:罗伯·科纳里的巨著
原始响应(无转换):
[[{ "Key": "ID", "Value": 2 }, { "Key": "customerID", "Value": 1 }, { "Key": "orderID", "Value": 1 }, { "Key": "address", "value": "25 Ibrahim Nagy Street, NasrCity, Cairo" }, { "Key": "deliveryDateTime", "Value": "/Date(1381528800000)/" }, { "Key": "deliveryPersonnelID", "Value": 1 }], [{ "Key": "ID", "Value": 3 }, { "Key": "customerID", "Value": 2 }, { "Key": "orderID", "Value": 2 }, { "Key": "address", "value": "14 Ibrahim Nagy Street, NasrCity, Cairo" }, { "Key": "deliveryDateTime", "Value": "/Date(1386972000000)/" }, { "Key": "deliveryPersonnelID", "Value": 2 }], [{ "Key": "ID", "Value": 4 }, { "Key": "customerID", "Value": 1 }, { "Key": "orderID", "Value": 3 }, { "Key": "address", "value": "30 Abbas Akad Street, NasrCity, Cairo" }, { "Key": "deliveryDateTime", "Value": "/Date(1387922400000)/" }, { "Key": "deliveryPersonnelID", "Value": 2 }], [{ "Key": "ID", "Value": 5 }, { "Key": "customerID", "Value": 3 }, { "Key": "orderID", "Value": 4 }, { "Key": "address", "Value": "25 Hassan Maamoon Street, NasrCity, Cairo
" }, { "Key": "deliveryDateTime", "Value": "/Date(1388354400000)/" }, { "Key": "deliveryPersonnelID", "Value": 3 }]]
我决定做转换客户端,我不知道这对我来说是正确的,我的意思是让客户端做一些工作,而且它也不是一件艰苦的工作,所以为什么要浪费时间服务器端呢?
- 套接字服务器向客户端广播,但不从两者接收
- ServiceStack JavaScript服务器事件客户端的身份验证
- 如何从服务器向客户端调用函数?(远程功能调用)
- 将数据发布到nodejs服务器到客户端
- 服务器触发客户端事件两次
- 正在服务器或客户端上生成数据
- 从服务器到客户端的响应状态
- 调用SignalR中的服务器和客户端方法
- 在不同子域上使用Socket.IO服务器和客户端
- Meteor集合在服务器和客户端上有所不同
- 使用IE、Jsonp和OpenID,我如何让数据发送服务器将客户端视为已验证
- 从流星服务器到客户端获取单个值
- 在Visual Basic中加密AES,然后在服务器到客户端中解密AES
- 为初学者实现基本REST/SOAP服务器和客户端的最快速方法
- node.js服务器和客户端的代码进行连接
- MQTT 服务器到客户端的通信
- SignalR 不从服务器调用客户端方法
- 计算具有不同时区的服务器和客户端之间的时差
- 没有node.js服务器的客户端socket.io
- radgrid -get 服务器在客户端编辑的行