में जेसन.नेट सीरिएलाइज़र का उपयोग करके मैं जेसन.नेट सीखना शुरू कर रहा हूं, लेकिन मुझे इसके सीरिएलाइज़र का उपयोग करने में परेशानी हो रही है।एक एमवीसी 4 प्रोजेक्ट
public class PTE_TestsController : ApiController {
PTE_TestsRepository _repository = new PTE_TestsRepository();
// GET /api/PTE_Tests/5
public HttpResponseMessage<string> Get(int id) {
try {
PTE_Test test = _repository.GetTest(id);
return new HttpResponseMessage<string>(JsonConvert.SerializeObject(test));
} catch {
return new HttpResponseMessage<string>(HttpStatusCode.NotFound);
}
}
}
JsonConvert.SerializeObject() की उम्मीद है और एक स्ट्रिंग रिटर्न के रूप में काम करता है: मैं एक Web.API सेवा के साथ एक नया MVC4 परियोजना है। मेरा वेब.एपीआई नियंत्रक एक HttpResponseMessage के हिस्से के रूप में देता है। अंतिम परिणाम, जब फ़िडलर में देखी, JSON डेटा नहीं है, लेकिन JSON डेटा फिर से (मुझे लगता है कि) धारावाहिक की जा रही:
"{\"ID\":1,\"Name\":\"Talar Tilt\",\"TagID\":1,\"PracticeID\":1,
\"SpecificAreaID\":1,\"TypeID\":1,\"VideoID\":1,\"PicID\":1}"
कोई कैसे बंद डिफ़ॉल्ट serializer चालू करने के लिए तो मैं Json.NET सीधे उपयोग कर सकते हैं पता है ? वैसे, मैं डिफ़ॉल्ट धारावाहिक का उपयोग नहीं कर रहा हूं क्योंकि मैं यह नहीं समझ सकता कि इसे जटिल वस्तुओं के साथ कैसे काम करना है (PTE_Test में अंत में प्रकार सूची के सदस्य होंगे)।
वैकल्पिक रूप से, यह जटिल समस्या के साथ डिफ़ॉल्ट धारावाहिक का उपयोग करने के तरीके को समझा सकता है, तो यह मेरी समस्या का समाधान भी करेगा। एमएसडीएन की व्याख्या ने मेरी मदद नहीं की।
एक जेसनवेल्यू ऑब्जेक्ट का उपयोग करने पर उनकी युक्ति बिल्कुल वही थी जो मुझे चाहिए था। धन्यवाद! – CraigB
क्विक फॉलो-अप: जेसन वैल्यू ने केवल मेरे लिए गेट पर काम किया, लेकिन पुट, पोस्ट इत्यादि नहीं। इसलिए मैंने रिक के जेसन.NET फॉर्मेटर को जोड़ा और अब तक यह काफी अच्छी तरह से काम कर रहा है। – CraigB