在使用WebAPI将其返回给客户端之前,我经常需要使用附加信息来扩展我的域模型.为了避免创建ViewModel,我认为可以返回带有附加属性的JObject.但是,通过对Newtonsoft JSON库的一次调用,我找不到将任何类型的对象转换为JObject的直接方法.我想出了这样的 idea :
- 第一个序列化对象
- 然后解析
- 并扩展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;
我走这条路对吗?