2012-05-23 13 views
19

मैं वर्तमान में ASP.NET वेब एपीआई, जहां मैं अपने बाकी आपरेशन से निम्नलिखित की तरह एक मॉडल वस्तु लौटने के साथ काम कर रहा हूँ से json में लौटे JSON ऑब्जेक्ट में परिवर्तित किया गया है, यह उपरोक्त संपत्ति नामों के साथ आउटपुट करता है।प्रबंध संपत्ति के नाम वेब एपीआई

वेब एपीआई ऑपरेशन से लौटाई गई पेलोड को कम करने के लिए, क्या मैं JSON ऑब्जेक्ट में गुणों को बदल सकता हूं उदाहरण के लिए DescDescription के लिए। मैं मॉडल ऑब्जेक्ट बदल सकता हूं लेकिन संपत्ति के नाम तब समझ में नहीं आएंगे!

उत्तर

2

आप अपने पूर्ण ऑब्जेक्ट्स को मैप करने के लिए एएसपीनेट पक्ष पर http://automapper.org/ का उपयोग करने पर भी विचार कर सकते हैं, अधिक हल्के वजन वाले। सिर्फ एक या दो छोटी वस्तुओं के लिए अधिक हो सकता है, लेकिन यदि आपके पास ऐसा करने के लिए एक गुच्छा है तो आप कुछ समय बचा सकते हैं (बूट करने के लिए मुक्त और मुक्त स्रोत)।

23

ऐसा करने का आसान तरीका डेटा अनुबंध के माध्यम से है। Here is an article, लेकिन मूल रूप से, इसमें आपके मॉडल पर दो एनोटेशन शामिल हैं। यह आपको कुछ भी अनदेखा करने की अनुमति देता है जिसे आप क्रमबद्ध नहीं करना चाहते हैं।

[DataContract] 
public class Foo { //Your model class 

    [DataMember(Name="bar-none")] //This also allows you to use chars like '-' 
    public string bar {get; set;} 

    [IgnoreDataMember] //Don't serialize this one 
    public List<string> fuzz { get; set;} 

} 
+1

यह मेरे उद्देश्यों के लिए बिल्कुल सही था, जो ओपी के समान थे। –

+4

आपको सिस्टम का संदर्भ भी जोड़ना पड़ सकता है। रनटाइम। क्रमबद्धता जिसे डिफ़ॉल्ट रूप से जोड़ा नहीं जाता है। http://stackoverflow.com/questions/7401795/namespace-for-datacontract – geon

संबंधित मुद्दे