2016-08-23 15 views
0

バックエンドがASP.netで作成されているWebアプリケーションがあります。 ajax呼び出しは通常のget要求ですjsonをjavascriptからasp.netに送信

$.ajax({ 
    url: 'myurl/updatejson', 
    contentType: "application/json; charset=utf-8", 
    data: data, 
    success: function (data) { 
     // do something 
    }, 
    error: function (xhr, status, err){ 
     console.error(xhr, status, err); 
    } 
});   

ここで、dataは正しい形式の単純なキー、値オブジェクトです。 C#のバックエンドは、私はC#でjsonkey, valueに等しくなることを期待していたが、代わりに私はいくつかの理由でkey, [value]を取得し、このから

public HttpStatusCodeResult UpdateJson(Dictionary<string, object> json){ //do something } 

です。もし私が辞書の代わりにDictionary<string, string>と宣言すれば、すべて正常に動作し、期待される結果が得られます。何らかの理由で文字列を配列にラップするオブジェクトに変換していることを意味します。

dictionary<string, object>は値が配列にラップされていなくても(値は文字列、intまたはbooleanなので)、どのように使用できますか?

答えて

0

ダイナミックタイプの解像度を使用しようとしましたか?

public HttpResponseMessage UpdateJson([FromBody]dynamic value){ 
    ... 
    Console.WriteLine(value["field1"]); 
} 
関連する問題