将复杂的JSON传递给WebMethod

Passing complex JSON to a WebMethod

本文关键字:WebMethod JSON 复杂      更新时间:2023-09-26

我正在尝试传递一个具有以下结构的JSON:

{"var":"{"var1:"val1","var2:"val2",…,"varN:"valN"}"}

我的JS函数执行以下POST函数:

$.ajax({
    type: "POST",
    url: "MyWebApp.aspx/Foo",
    data:  {"json":"{"var1:"val1","var2:"val2",...,"varN:"valN"}"},
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (msg) {
        alert("2D JSON Test is done")
    }
});

我想知道如何定义WebMethod函数原型来接收这样的JSON?

[WebMethod]
public static void Foo(var json)

[WebMethod]
public static void Foo(string json)

[WebMethod]
public static void Foo(string[] json)

[WebMethod]
public static void Foo(List<string> json)

参考链接:使用jQuery 将JSON对象成功发送到asp.net WebMethod

[WebMethod]
        public static void Foo(object items)
        {
            //break point here
            List<object> lstItems = new JavaScriptSerializer().ConvertToType<List<object>>(items);
        }