मुझे एक एमवीसी 4/.NET4 WebApi नियंत्रक कार्रवाई में JSON स्ट्रिंग प्राप्त हो रही है। क्रिया का पैरामीटर dynamic
है क्योंकि मुझे प्राप्त होने वाले JSON ऑब्जेक्ट के बारे में प्राप्त करने वाले अंत में कुछ भी नहीं पता है।गतिशील JContainer (JSON.NET) और रनटाइम पर गुणों पर Iterate
public dynamic Post(dynamic myobject)
JSON स्वचालित रूप से पार्स किया गया है और जिसके परिणामस्वरूप dynamic
वस्तु एक Newtonsoft.Json.Linq.JContainer
है। जैसा कि अपेक्षित है, मैं रनटाइम पर गुणों का मूल्यांकन कर सकता हूं, इसलिए यदि JSON में myobject.myproperty की तरह कुछ शामिल है तो मैं अब डायनामिक ऑब्जेक्ट प्राप्त कर सकता हूं और C# कोड के भीतर myobject.myproperty
पर कॉल कर सकता हूं। अब तक सब ठीक है।
अब मैं नेस्टेड गुणों सहित जेएसओएन के हिस्से के रूप में आपूर्ति की गई सभी संपत्तियों पर पुन: प्रयास करना चाहता हूं। हालांकि, अगर मैं myobject.GetType().GetProperties()
करता हूं तो यह केवल उन संपत्तियों के बजाय Newtonsoft.Json.Linq.JContainer
के गुण लौटाता है जो कि मैं ढूंढ रहा हूं (जो JSON का हिस्सा थे)।
कोई विचार यह कैसे करना है?
[इस] (http://code.msdn.microsoft .com/supporting-different-data-b0351c9a) आलेख आपकी मदद कर सकता है, यह जांचें कि वह 'DeserializeRequest' विधि में क्या कर रहा है। –