【发布时间】:2014-03-26 07:40:45
【问题描述】:
在使用 WebAPI 将其返回给客户端之前,我经常需要使用附加信息扩展我的域模型。为了避免创建 ViewModel,我想我可以返回带有附加属性的 JObject。然而,我无法找到直接方法将任何类型的对象转换为 JObject,只需调用 Newtonsoft JSON 库即可。我想出了这样的事情:
- 第一个 SerializeObject
- 然后解析
- 并扩展 JObject
例如:
var cycles = cycleSource.AllCycles();
var settings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
var vm = new JArray();
foreach (var cycle in cycles)
{
var cycleJson = JObject.Parse(JsonConvert.SerializeObject(cycle, settings));
// extend cycleJson ......
vm.Add(cycleJson);
}
return vm;
我这个方法正确吗?
【问题讨论】:
-
JObject.FromObject(your_domain_object)是您正在寻找的。请参阅@L.B 的回答。