मुझे अक्सर WebAPI के साथ क्लाइंट को लौटाने से पहले अपने डोमेन मॉडल को अतिरिक्त जानकारी के साथ विस्तारित करने की आवश्यकता होती है। ViewModel के निर्माण से बचने के लिए मुझे लगा कि मैं अतिरिक्त गुणों के साथ जॉयजेक्ट वापस कर सकता हूं। हालाँकि मैं किसी भी प्रकार की वस्तु को न्यूबॉट्सॉफ्ट जेन्सन लाइब्रेरी के लिए सिंगल कॉल के साथ जोबजेक्ट में परिवर्तित करने का प्रत्यक्ष तरीका नहीं खोज सका। मैं कुछ इस तरह से आया:
- पहला 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)वह है जो आप ढूंढ रहे हैं। देखिए @ LB का जवाब।