我有以下代码和JSON:

public class Labels
{
    public Labels()
    {}

    public Label[] Label {get;set;}
}

public class Label
{
    public Label()
    { }
    public string Name { get; set; }
    public int TorrentsInLabel { get; set; }
}

//...
Labels o = JsonConvert.DeserializeObject<Labels>(json);
//...


{"label": 
[
  ["seq1",1]
  ,["seq2",2]
]}

我想此数组[ “SEQ1”, “1”]来反序列化为Label对象。我在想什么?一些属性?

当我跑我得到异常:预期一JsonArrayContract类型“test_JSONNET.Label”,得到了“Newtonsoft.Json.Serialization.JsonObjectContract”

TNX

GG

有帮助吗?

解决方案

默认情况下的一类序列化为JSON对象,其中对JSON对象上的类成为属性的属性。

{
    Name: "seq",
    TorrentsInLabel: 1
}

您正试图将其序列到没有怎么Json.NET串行工作方式是默认的数组。

要得到你想要的,你应该创建一个JsonConverter和读写JSON的标签手动是你希望它是(数组)什么什么的。

其他提示

JsonConvert怎么能知道“SEQ1”对应的名称,“1”对应的TorrentsInLabel?请看看JsonObjectAttribute,JsonPropertyAttribute,JsonArrayAttribute

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top