कहते हैं के साथ मैंएन्कोडिंग Apostrophe JSON.NET
public class MyTestClass
{
public MyTestClass()
{
Testing = "check ' out";
}
public string Testing { get; set; }
}
और तरह JavascriptSerializer/JsonNet serializers की तरह एक वर्ग है: फिर एक दृश्य में
public IHtmlString ToJsonNet(object value)
{
return new MvcHtmlString(JsonConvert.SerializeObject(value));
}
public IHtmlString ToJson(object value)
{
var json = new JavaScriptSerializer();
return new MvcHtmlString(json.Serialize(value));
}
मैं
@(Serializers.ToJsonNet(new MyTestClass()))
@(Serializers.ToJson(new MyTestClass()))
JsonNet {"परीक्षण" वापस लौटाएगा: "चेक आउट"}, जबकि जावास्क्रिप्टसेरियलाइज़र {"परीक्षण" वापस लौटाएगा: "चेक \ u0027"}। मैं की तरह
var model = $.parseJSON('@jsonString');
एक जावास्क्रिप्ट वस्तु बनाने के लिए चाहते हैं लेकिन यह तभी काम करता है apostrophe एन्कोड किया गया है। अन्यथा, apostrophe मेरी javacript तरह
var model = $.parseJSON('{"Testing":"check ' out"}');
जो विफल रहता है क्योंकि डाला apostrophe parseJSON
मेरी स्ट्रिंग बहुत जल्दी भागने बनाता है देखने के लिए बनाता है।
जावास्क्रिप्टसेरियलाइज़र डिफ़ॉल्ट रूप से apostrophe को \ u0027 एन्कोड करता है जबकि JSON.NET (जिसे मैं उपयोग करना चाहता हूं) नहीं करता है। ऐसा करने के लिए मैं JSON.NET कैसे बदल सकता हूं? क्या कोई सेटिंग है जो मुझे याद आ रही है? क्या कोई अलग तरीका है कि मैं अपने JSON स्ट्रिंग को जावास्क्रिप्ट में पार्स कर सकता हूं जहां एस्ट्रोफ़े ठीक है?
jQuery का कौन सा संस्करण उपयोग कर रहे हैं? – nemesv
@nemesv संस्करण 1.7.1 – user1399487
क्या आप JSON.NET के साथ इस समस्या को हल करने में सक्षम थे? – CoffeeCode