JSON.net问题JsonConvert.DeserializeObject
-
20-09-2019 - |
题
我有以下代码和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
不隶属于 StackOverflow