WebAPI ile istemciye iade etmeden önce Etki Alanı modelimi ek bilgilerle genişletmem gerekir. ViewModel'in oluşturulmasını önlemek için JObject'i ek özelliklerle döndürebileceğimi düşündüm. Bununla birlikte, Newtonsoft JSON kitaplığına yapılan tek çağrı ile herhangi bir nesneyi JObject'e dönüştürmenin doğrudan yolunu bulamadım. Bunun gibi bir şey buldum:
- ilk SerializeObject
- sonra Ayrıştır
- ve JObject'i genişlet
Örneğin.:
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;
Bu doğru yol muyum?
JObject.FromObject(your_domain_object)aradığınız şey. @ LB'nin cevabına bakın.