如何使用JsonConvert.DeserializeObject(useCaseData)
将JSON格式的对象与有效数据反序列化?
我试过JsonConvert.DeserializeObject<Dictionary<string, string>>(useCaseData)
但我得到了这个错误:Newtonsoft.Json.JsonSerializationException: 'Error converting value 1 to type 'System.Collections.Generic.Dictionary
2[System.String,System.String]'. Path '', line 1, position 1.`
基类:
public class ReadUseCaseLogDto
{
public int Id { get; set; }
public string UseCaseName { get; set; }
public object Data { get; set; }
public DateTime ExecutedAt { get; set; }
public int UserId { get; set; }
}
返回字符串值的数据:
{
"totalCount": 281,
"currentPage": 14,
"itemsPerPage": 10,
"pageCount": 29,
"items": [
{
"id": 131,
"useCaseName": "Read use case logs using Entity Framework",
"data": {
"DateFrom": [],
"DateTo": [],
"UseCaseName": [],
"Fullname": []
},
此转换会引发错误,因为它无法从int转换为string:
{
"id": 9,
"useCaseName": "Delete brand using Entity Framework",
"data": 1,
"executedAt": "2023-06-06T00:08:56.8566667",
"userId": 4
}
可以使用一些通用的或其他的东西吗?
2条答案
按热度按时间b0zn9rqh1#
如果你使用对象而不是字符串,它应该可以工作:
JsonConvert.DeserializeObject<Dictionary<string,Object>>(useCaseData)
cyej8jka2#
你有一个数组,而不是字典,所以试试下面的代码