小编jfi*_*ker的帖子

如何从.NET调用Sabre EnhancedSeatMapRQ soap web服务?

我可以从SoapUI在TSTS环境中调用EnhancedSeatMapRQ.当我使用Visual Studio 2015生成的Soap代理进行相同的调用时,我得到null反序列化的Items部分.我还在ApplicationResults部分获得"已完成"(成功).我可以看到Fiddler这个调用实际上是成功的,而这个问题是由.Net反序列化造成的.

.net soap sabre

5
推荐指数
1
解决办法
436
查看次数

如何将json对象反序列化为特定的子类?

我有一个 Cabin 类,其中包含 Row 对象的列表。我想像这样序列化对象,但是在反序列化时,我希望 Row 对象成为 RowRule 对象,它继承自 Row 对象。下面是我一直在尝试的一些示例代码。

class Program
{
    static void Main(string[] args)
    {
        var cabin = new Cabin();
        var row = new Row();
        row.Status = "Success";
        cabin.Rows = new List<Row>()
        {
            row,
            row
        };

        JsonSerializerSettings settings = new JsonSerializerSettings()
        {
            TypeNameHandling = TypeNameHandling.Auto
        };
        string json = JsonConvert.SerializeObject(cabin, Formatting.Indented, settings);
        Console.WriteLine(json);

        Cabin obj = JsonConvert.DeserializeObject<Cabin>(json,
            new JsonSerializerSettings() {TypeNameHandling = TypeNameHandling.Auto});
        Console.WriteLine(obj);
        Debug.Assert(obj.Rows.First().GetType().Name == "RowRule");
    }
}

class Cabin
{
    public IList<Row> Rows { get; …
Run Code Online (Sandbox Code Playgroud)

c# json deserialization

2
推荐指数
1
解决办法
2039
查看次数

标签 统计

.net ×1

c# ×1

deserialization ×1

json ×1

sabre ×1

soap ×1