我正在尝试将JSON文档反序列化为只使用我班级上的Json*
标记的类。
当我的JSON文档看起来像这样时,我该怎么做?
{
"id": "1",
"name" : "test",
"dictionary": [
{
"obj" : "a",
"list" : [{ "Id" : "1"} , { "Id" : "2"}]
},
{
"obj" : "b",
"list" : [{ "Id" : "3"} , { "Id" : "4"}]
}
]
}
我的C#类看起来像这样:
public class Test
{
[JsonProperty("id")]
public string TestId {get;set;}
[JsonProperty("name")]
public string Name {get;set;}
[JsonProperty("dictionary")]
public Dictionary(string, List<object>) dict {get;set;}
}
但是,它无法反序列化到字典中。我的代码现在正在利用这样的documentDb查询:
var response = _client.CreateDocumentQuery<Test>(collection.DocumentsLink, "SELECT * FROM root r");
答案 0 :(得分:0)
您需要为JSON对象图中的每个嵌套对象创建POCO类。
尝试使用以下类进行反序列化:
public class Test
{
[JsonProperty("id")]
public string TestId { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("dictionary")]
public List<TestInnerItem> dictionary { get; set; }
}
public class TestInnerItem
{
public string Obj { get; set; }
public List<TestInnerInnerItem> List { get; set; }
}
public class TestInnerInnerItem
{
public string Id { get; set; }
}