将json从javascript发送到asp.net

时间:2016-08-23 16:45:33

标签: javascript asp.net json

我有一个网络应用程序,后端是在ASP.net中制作的。 ajax调用是正常的get请求

$.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);
    }
});          

数据是一个简单的键,值对象格式正确。 C#后端是

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

从此开始我希望c#中的json等于key, value,但出于某种原因,我得到key, [value]。如果我将字典声明为Dictionary<string, string>而不是Dictionary<string, object>,一切正常并且我得到了预期的结果,因此它意味着由于某种原因将字符串转换为对象将其包装在数组中。

如何使用dictionary<string, object>(因为值可以是字符串,int或boolean)而不将值包装在数组中?

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用动态类型解析?

 public HttpResponseMessage UpdateJson([FromBody]dynamic value){
    ...
    Console.WriteLine(value["field1"]);
 }