gpt4 book ai didi

c# - 使用自定义类 c# 反序列化来自 API 的响应

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:25 27 4
gpt4 key购买 nike

我从 api 收到以下格式的 json 响应。我正在尝试使用自定义类反序列化它。

{
"TraceEvent": {
"Attributes": {
"Commodity": "APPLES",
"Variety": "Green"
},
"Codes": [{
"devicename": "",
"code": "901491877572115",
"timestamp": "2018-02-15T19:33:29.4418926+05:30"
}, {
"devicename": "",
"code": "6657287134488755",
"timestamp": "2018-02-15T19:33:29.4418926+05:30"
}
]
}
}

下面是我用于反序列化的自定义类

public class EventContainer
{
[JsonProperty("TraceEvent")]
public TraceEvent TraceEvent { get; set; }
}

public class TraceEvent
{
[JsonProperty("attributes")]
public TraceAttributes Attributes { get; set; }
[JsonProperty("codes")]
public TraceCodes Codes { get; set; }
}

public class TraceAttributes
{
[JsonProperty("commodity")]
public string Commodity { get; set; }
[JsonProperty("variety")]
public string Variety { get; set; }
}

public class TraceCodes
{

public TraceCodes()
{
Codes = new List<TraceCode>();
}
[JsonProperty("Codes")]
public List<TraceCode> Codes { get; set; }
}

public class TraceCode
{
[JsonProperty("devicename")]
public string DeviceName { get; set; }
[JsonProperty("code")]
public string Code { get; set; }
[JsonProperty("timestamp")]
public DateTime Timestamp { get; set; }
}

在接收端,我得到的代码为空。请在 api 接收器代码中引用我的调试屏幕,

enter image description here

谁能告诉我如何重写自定义类以反序列化来自 JSON api 的代码列表

感谢您的帮助。

最佳答案

改变类结构。代码应该在 TraceEvent 类中,而不是在它自己的类中

public class TraceEvent
{
[JsonProperty("attributes")]
public TraceAttributes Attributes { get; set; }
[JsonProperty("Codes")]
public List<TraceCode> Codes { get; set; }
}

删除下面的类

public class TraceCodes
{

public TraceCodes()
{
Codes = new List<TraceCode>();
}
[JsonProperty("Codes")]
public List<TraceCode> Codes { get; set; }
}

关于c# - 使用自定义类 c# 反序列化来自 API 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48823563/

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