我有一个API,它返回一个类似下面的JSON,我必须在C#对象中反序列化它:
{
"found": true,
"resultsData": [
{
"2023-05-13": [
{
"info1": "Test",
"infoCode": 1,
"infos": [
{
"code": 2,
"extraInfo1": "test1",
"extraInfo2": "test2",
"extraInfo3": "test3",
"order": 1,
"risk": "",
"alarm": "alarm text"
},
{
"code": 3,
"extraInfo1": "test1",
"extraInfo2": "test2",
"extraInfo3": "test3",
"order": 1,
"risk": "",
"alarm": "alarm text"
},
{
"code": 4,
"extraInfo1": "test1",
"extraInfo2": "test2",
"extraInfo3": "test3",
"order": 1,
"risk": "",
"alarm": "alarm text"
},
{
"code": 5,
"extraInfo1": "test1",
"extraInfo2": "test2",
"extraInfo3": "test3",
"order": 1,
"risk": "",
"alarm": "alarm text"
}
]
}
]
},
{
"2023-05-14": [
{
"info1": "Test",
"infoCode": 2,
"infos": [
{
"code": 6,
"extraInfo1": "test1",
"extraInfo2": "test2",
"extraInfo3": "test3",
"order": 1,
"risk": "",
"alarm": "alarm text"
},
{
"code": 7,
"extraInfo1": "test1",
"extraInfo2": "test2",
"extraInfo3": "test3",
"order": 1,
"risk": "",
"alarm": "alarm text"
},
{
"code": 8,
"extraInfo1": "test1",
"extraInfo2": "test2",
"extraInfo3": "test3",
"order": 1,
"risk": "",
"alarm": "alarm text"
},
{
"code": 9,
"extraInfo1": "test1",
"extraInfo2": "test2",
"extraInfo3": "test3",
"order": 1,
"risk": "",
"alarm": "alarm text"
}
]
}
]
}
],
"message": ""
}
如果“2023-05-13”像属性一样插入到对象中,那么可以很容易地将其反序列化为对象,但是因为这不能反序列化为POCO对象,并且不可能更改API响应,所以我试图找到一个解决方案。在this article from Microsoft之后,我了解到我可以使用System.Text.Json和JsonNode对象手动反序列化,并在循环中读取属性和值。我弄清楚了如何获得一个JSON节点和对象,但我被困在检索“2023-05-13”值和“2023-05-14”,因为它们没有像其他属性一样的“名称”。任何帮助一些代码,以找出将远远超过赞赏
1条答案
按热度按时间vbkedwbf1#
可以使用字典获取日期时间数据