无法将对象列表从Javascript序列化/反序列化为C#.Net

时间:2017-07-18 16:12:24

标签: c# .net json serialization deserialization

我目前可以在Javascript中序列化单个对象,在Json中通过Ajax发布它,并使用自定义类在代码隐藏中反序列化它,如下所示:

使用Javascript:

var ticket =
{
    "aNumber" : 1,
    "aString" : "foo"
};

jsonData = JSON.stringify(ticket);

$.ajax({
        type: "POST",
        url: url_webservice + "action",
        data: "{obj:" + jsonData + "}",
        contentType: 'application/json; charset=utf-8',
        error: function (xhr, status, error) {
            console.log(xhr.responseText);
        },
        dataType: "json"
    });

自定义类:

public class Ticket
{
    public int aNumber { get; set; }
    public string aString { get; set; }
}

代码隐藏:

[WebMethod]
public static void action(Ticket obj)
{
    //do stuff
}

现在我想完成同样的事情,但有几张票如下:

var tickets =
[
    {
        "aNumber" : 1,
        "aString" : "foo"
    },
    {
        "aNumber" : 2,
        "aString" : "bar"
    }
];

我尝试按合成创建一个类:

public class TicketsDTO
{
    LinkedList<Ticket> tickets;
}

然后继承:

public class TicketsDTO : LinkedList<Ticket>
{
}

似乎无效。我确实更新了WebMethod的参数

[WebMethod]
public static void action(TicketsDTO obj)
{
    console.log(""); //breakpoint
}

但是在这两种情况下执行没有到达断点,我也没有收到错误。

感谢任何帮助。

0 个答案:

没有答案