2016-03-03 42 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)

Editを使用しています:は(他のすべての参照をダウングレードする)Newtonsoft.Json 6.0.6をインストールすることによってそれを解決

誰もがそのすでに得ましたか。 おかげで..

+1

? 'mvcBuilder'とは何ですか?あなたは 'Startup.cs'から' ConfigureServices'メソッドのコードを含めることができますか? '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

.Net Core 1.0 RTMには、すぐに使用できるCamelCaseフォーマットが付属しています。これはRC2の動作changeです。

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:あなたはそれを修正する必要がある場合は、このスニペットを試してみてください。 DOTNETコア1.0.1用

:あなたは、コードの断片を挿入しようとした

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

ありがとう!私は、自動ラクダのケーシングがどこで起こっていたのか分かりませんでした。 –

+4

この呼び出しが.Net core 1.1に何であるか考えてみましょうか? –

+0

@LeviFullerそれは同じです - 'AddJsonOptions' – chester89

関連する問題