C# 如何反序列化简单结构中的 json DATAS 数组?
Posted
技术标签:
【中文标题】C# 如何反序列化简单结构中的 json DATAS 数组?【英文标题】:C# How can i deserialize json DATAS array in the simple struct? 【发布时间】:2021-07-11 06:11:45 【问题描述】:
"ASD": "CONNECTIONS": 1, "DATAS": [0, 0, 0] ,
"Something":
"PITCH": 77,
data = JsonConvert.DeserializeObject<DATA>(text);
public class DATA
public struct ASD
public float CONNECTIONS;
public float[] DATAS; //?? This is every time is null
public struct Something
public float PITCH;
【问题讨论】:
您能否添加用于反序列化 JSON 的代码和模型。请将它们作为文本而不是图像添加到问题中。 【参考方案1】:仅仅定义你想要使用的结构是不够的。对象ASD
必须将properties 类型化为这些结构。 (请注意屏幕截图中定义上方的0 references
提示!)
public class DATA
public ASD ASDget;set;
public Something Something get;set;
public struct ASD
public float CONNECTIONS;
public float[] DATAS; //?? This is every time is null (not any more it wont be!)
public struct Something
public float PITCH;
它的工作实例:https://dotnetfiddle.net/wgI5zR
【讨论】:
是的,我这样做了,但是 ASD 结构中的 DATAS 数组为空,我试图在控制台中写出消息并且 DATAS 不为零"ASD":"CONNECTIONS" :1,"数据":[4,23,1]。 @Smeth 对我来说似乎工作正常 - 看这里:dotnetfiddle.net/MByBMP 你一定是做错了什么 也许,实际上其他一切工作正常,只有 Datas 数组返回 null。我会试着弄清楚...以上是关于C# 如何反序列化简单结构中的 json DATAS 数组?的主要内容,如果未能解决你的问题,请参考以下文章
c# 通过json.net中的JsonConverter进行自定义序列化与反序列化