2012-02-17 19 views
22

पर सी # ऑब्जेक्ट सीरियललाइज करें I JSON.net लाइब्रेरी का उपयोग कर JSON को एक C# ऑब्जेक्ट को क्रमबद्ध करने का प्रयास कर रहा हूं। मेरे पास जो मुद्दा है, वह है स्ट्रिंग बनने वाली स्ट्रिंग में & उद्धरण है।JSON.net जेएसओएन अंक

{ 
    "ComId": "AAAiB+AAHAALOaFAAL", 
    "CovId": "AAABC9AAPAAAZYUAAI", 
    "EffectiveDate": "\\/Date(1329368400000-0500)\\/", 
    "ExpirationDate": "\\/Date(1360990800000-0500)\\/", 
    "State": "TX", 
    "DeductibleAmount": 500.0, 
    "DeductibleType": "PD" 
} 

JSONLint रिटर्न के माध्यम से स्ट्रिंग चल रहा है::

Parse error on line 1: 
{ "ComId": & 
-----^ 
Expecting 'STRING', '}' 

नीचे वस्तु मैं JSON में क्रमानुसार करने कोशिश कर रहा हूँ है:

नीचे स्ट्रिंग JsonConvert.SerializeObject के माध्यम से लौटे है

public class CommonInfoModel 
{ 
    public virtual string ComId { get; set; } 
    public virtual string CovId { get; set; } 

    [Display(Name = "Effective Date")] 
    public virtual DateTime EffectiveDate { get; set; } 

    [Display(Name = "Expiration Date")] 
    public virtual DateTime ExpirationDate { get; set; } 

    [Display(Name = "State")] 
    public virtual string State { get; set; } 

    [Display(Name = "Deductible Amount")] 
    public virtual decimal DeductibleAmount { get; set; } 

    [Display(Name = "Deductible Type")] 
    public virtual string DeductibleType { get; set; } 
} 

क्या मैं कुछ गलत कर रहा हूं? मैंने खोज की है और ऐसा लगता है कि इस विधि का उपयोग करने वाले अन्य लोग क्लीनर स्ट्रिंग प्राप्त करते हैं! अग्रिम में आपके समय के लिए धन्यवाद!

+0

आपको लगता है कि " से की एक की जगह क्यों नहीं "और फिर उसे पार्स – jcvegan

+1

तुम कैसे JSON का उपयोग कर रहे आप एक नियंत्रक कार्रवाई से यह लौट रहे हैं आप की कोशिश की' वापसी Json (मॉडल) है;? ' ? – jrummell

+0

यह '{" कॉमआईड "है: शून्य," कोविद ": शून्य," प्रभावी दिनांक ":" \/दिनांक (-62135596800000 + 0200) \/"," समाप्ति दिनांक ":" \/दिनांक (-62135596800000 + 0200) \/"," State ": null," deductibleAmount ": 0.0," deductibleType ": null} 'जब मैं चलाता हूं तो मुझे क्या मिलता है **' JsonConvert.SerializeObject (नया CommonInfoModel())' **। आपको कुछ करना होगा serialization –

उत्तर

74

आपकी जेसन स्ट्रिंग HTML एन्कोडेड है। चूंकि आप अपने दृश्य में जेसन को प्रतिपादित कर रहे हैं, इसलिए आप एन्कोड होने से रोकने के लिए @Html.Raw() सहायक का उपयोग कर सकते हैं।

var data = { json : "@Html.Raw(JsonConvert.SerializeObject(Model))" }; 
+0

धन्यवाद, Html.Raw का उपयोग करके मैं स्ट्रिंग को साफ़ करने में सक्षम था! – MetRay

+0

अच्छा जवाब। धन्यवाद। –