gpt4 book ai didi

c# - 将 JSON 数组转换为 C# 对象集合

转载 作者:行者123 更新时间:2023-12-03 19:34:49 25 4
gpt4 key购买 nike

我有一个如下所示的 JSON,

[
{
"document":
{
"createdDate":1476996267864,
"processedDate":1476996267864,
"taxYear":"2015",
"type":"user_document"
}
},
{
"document":
{
"createdDate":1476998303463,
"processedDate":0,
"taxYear":"2015",
"type":"user_document"
}
}
]

我需要将其转换为 C# 对象。我的对象类型如下-

public class UserDocument
{
[JsonProperty(PropertyName = "type")]
public string type { get; set; }

[JsonProperty(PropertyName = "taxYear")]
public string taxYear { get; set; }

[JsonProperty(PropertyName = "createdDate")]
public string createdDate { get; set; }

[JsonProperty(PropertyName = "processedDate")]
public string processedDate { get; set; }

}

我使用下面的代码来反序列化 json,但所有 UserDocument 属性均为 null

 var test = JsonConvert.DeserializeObject<List<UserDocument>>(jsonString);

为什么我的所有 UserDocument 属性都为 null,这里出了什么问题?我没有收到任何错误。

您还可以建议一个将 CouchBase 查询结果放入 .net 对象的好示例吗?

最佳答案

您的 json 格式似乎不正确。如果我说你的 json 就像

[
"document":
{
"createdDate":1476996267864,
"processedDate":1476996267864,
"taxYear":"2015",
"type":"user_document"
},

"document":
{
"createdDate":1476998303463,
"processedDate":0,
"taxYear":"2015",
"type":"user_document"
}
]

然后创建一个模型,例如

public class Document
{
public UserDocument document {get;set;}
}

并将您的 UserDocument 模型的 createdDateprocessedDate 属性更改为 double 因为它与您的 json

public class UserDocument
{
[JsonProperty(PropertyName = "type")]
public string type { get; set; }

[JsonProperty(PropertyName = "taxYear")]
public string taxYear { get; set; }

[JsonProperty(PropertyName = "createdDate")]
public double createdDate { get; set; }

[JsonProperty(PropertyName = "processedDate")]
public double processedDate { get; set; }

}

然后反序列化

var test = JsonConvert.DeserializeObject<List<Document>>(jsonString);

关于c# - 将 JSON 数组转换为 C# 对象集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40181296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com