我通常需要在使用WebAPI将其返回给客户端之前使用其他信息扩展我的域模型。为了避免创建ViewModel,我想我可以用其他属性返回JObject。但我无法找到直接的方法来将任何类型的对象转换为JObject,只需调用Newtonsoft JSON库即可。我想出了这样的事情:使用Json.NET将任何类型的对象转换为JObject
- 第一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的回答。 –