में डबल कोट्स मेरे पास एक साधारण जेसन लौटने की कार्रवाई है। प्रदर्शन उद्देश्यों के लिए मैं नमूना कोड पेस्ट करूँगा। सरल वर्ग क्रमानुसार करने:लौटा जेसन
public class Employee
{
public string FullName { get; set; }
}
कार्रवाई जो json रिटर्न:
public JsonResult Test()
{
var employee = new Employee { FullName = "Homer Simpson" };
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(employee);
return Json(json, JsonRequestBehavior.AllowGet);
}
वह स्थान है जहां मैं उलझन में हूँ।
HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
Date: Mon, 15 Aug 2011 20:52:34 GMT
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 3.0
Cache-Control: private
Content-Type: application/json; charset=utf-8
Content-Length: 34
Connection: Close
"{\"FullName\":\"Homer Simpson\"}"
फ़िडलर में "JSON" टैब पढ़ता "चयनित प्रतिक्रिया मान्य JSON पाठ नहीं है": जब मैं ब्राउज़र से इस कार्रवाई फोन और फ़िडलर साथ प्रतिक्रिया को देखो, यह परिणाम है। वैध प्रतिक्रिया इस तरह होना चाहिए:
"{"FullName":"Homer Simpson"}"
यहाँ क्या चल रहा है? धन्यवाद
'" {\ "FullName \": \ "होमर सिम्पसन \"} "' भाग निकले संस्करण है स्ट्रिंग JSON ऑब्जेक्ट का। जब इसे पार्स किया जाता है, तो इंजन इसे '{"पूर्णनाम" में बदल देगा: "होम सिम्पसन"} '। चूंकि यह घुंघराले ब्रेसिज़ के बाहर उद्धरणों से घिरा हुआ है, आंतरिक उद्धरण बच जाना चाहिए या आपके पास एक अवैध स्ट्रिंग होगी। –
मैं समझता हूं कि फ़िडलर को वापस लौटने वाली स्ट्रिंग को JSON ऑब्जेक्ट में पार्स नहीं करना चाहिए और JSON टैब में JSON दिखाएं? –