【问题标题】:C# How can i deserialize json DATAS array in the simple struct?C# 如何反序列化简单结构中的 json DATAS 数组?
【发布时间】: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 的代码和模型。请将它们作为文本而不是图像添加到问题中。

标签: c# arrays struct


【解决方案1】:

仅仅定义你想要使用的结构是不够的。对象ASD 必须将properties 类型化为这些结构。 (请注意屏幕截图中定义上方的0 references 提示!)

public class DATA
{
    public ASD ASD{get;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。我会试着弄清楚...
猜你喜欢
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多