2016-03-03 14 views
21

JsonOutputFormatter विकल्पों को सेट करने की कोशिश कर रहा:JsonSerializerSettings और Asp.Net कोर

var jsonFormatter = (JsonOutputFormatter) options.OutputFormatters.FirstOrDefault(f => f is JsonOutputFormatter); 
if (jsonFormatter != null) 
{ 
    jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); 
} 

या

mvcBuilder.AddJsonOptions(jsonOptions => 
    { 
     jsonOptions.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); 
    }); 

लेकिन जैसे ही मैं इस जोड़ने के रूप में, मैं मिलता है:

MissingMethodException: विधि नहीं मिला: ' Newtonsoft.Json.JsonSerializerSettings Microsoft.AspNet.Mvc.Formatters.JsonOutputFormatter.get_SerializerSettings() '।

मैं मानक Microsoft.AspNet.Mvc.Formatters.Json (6.0.0-rc1-final)

संपादित उपयोग कर रहा हूँ:Newtonsoft.Json 6.0.6 स्थापित करने (जो सभी अन्य संदर्भ डाउनग्रेड) द्वारा इसे हल

किसी को भी कि पहले से ही मिल गया? धन्यवाद ..

+1

आप कहाँ कोड टुकड़ा डालने की कोशिश की? 'एमवीसीबिल्डर' क्या है? क्या आप 'Startup.cs' से 'कॉन्फ़िगर सर्विसेज' विधि का कोड शामिल कर सकते हैं, जिसका आप उपयोग करते हैं? 'AddJsonOptions' को कॉल करने के लिए यह सही जगह है। – Oleg

+0

यह आज यादृच्छिक रूप से मेरे साथ हो रहा है। ईमानदारी से यह कल काम कर रहा था जो वास्तव में मुझे परेशान छोड़ देता है। –

उत्तर

1

मैं तुम्हें ASP.Net कोर का उपयोग कर रहे हैं और आप का उपयोग करना चाहिए "Microsoft.AspNetCore.Mvc" मान: इस से

"Microsoft.AspNet.Mvc": "6.0.0-rc1-final" 

:

तो यह की जगह

"Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final" 
42

नेट कोर 1.0 आरटीएम कैमेलकेस स्वरूपण आउट-ऑफ-द-बॉक्स के साथ आता है। यह एक व्यवहार change आरसी 2 से है।

services.AddMvc() 
     .AddJsonOptions(opt => 
    { 
     var resolver = opt.SerializerSettings.ContractResolver; 
     if (resolver != null) 
     { 
      var res = resolver as DefaultContractResolver; 
      res.NamingStrategy = null; // <<!-- this removes the camelcasing 
     } 
    }); 

अधिक जानकारी here: हालांकि, अगर आप इसे संशोधित करने की जरूरत है, इस स्निपेट का प्रयास करें।

डॉटनैट कोर 1.0.1 के लिए:

services 
      .AddMvcCore() 
      .AddJsonFormatters(o => o...); 
+1

आपको बहुत बहुत धन्यवाद! मैं यह नहीं समझ सका कि स्वचालित ऊंट आवरण कहाँ हो रहा था। –

+4

कोई भी विचार यह कॉल क्या है .Net core 1.1? –

+0

@ लेवीफुलर यह वही है - 'AddJsonOptions' – chester89