如何使用JSON.net C#反序列化复杂的JSON

伊万·波哥索夫(Ivan Pogosov)

我有带有字符串键字典和值数组的JSON。他的结构如下:

{
"NameA":{
    "ParametersA":[
        [104.3,5.368783],
        [104.212,2.57357],...,
    ],
    "ParametersB":[
        [104.3,5.368783],
        [104.212,2.57357],...,
    ]
},
"NameB":{
    "ParametersA":[
        [104.3,5.368783],
        [104.212,2.57357],...,
    ],
    "ParametersB":[
        [104.3,5.368783],
        [104.212,2.57357],...,
        ]
    },
"ThousandsNamesN":{[...]
    }
}

我为此创建了一个类来获取这样的数据:Dictionaty<key=NameA, value=List<Parameters>>而参数是另一个具有数组A和B的类。

这是我的根类:

    internal class RawDepth
{
    public Dictionary<string, Parameters> Names { get; set; }

    internal class Parameters
    {
        [JsonProperty("ParametersA")]
        public IList<Orders> A { get; set; }


        [JsonProperty("ParametersB")]
        public IList<ParamsArray> B { get; set; }
    }

    internal class ParamsArray
    {
        public decimal[,] _Orders { get; set; }
    }
}

我捕获了一个空引用异常。我尝试以不同的方式创建类,但是仍然无法反序列化它。我做错了什么?

工作

您的模型可以像这样

public class Parameters
{
    public List<List<decimal>> ParametersA { get; set; }
    public List<List<decimal>> ParametersB { get; set; }
}

现在您可以反序列化为

var dict = JsonConvert.DeserializeObject<Dictionary<string, Parameters>>(json);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Json.Net序列化/反序列化类名称属性C#

如何在C#中使用json.net忽略序列化的属性,但保留反序列化

如何使用json.net将复杂的分离的(“列” /“数据”)json反序列化为c#对象

如何使用 Autodesk PLM 中的 C# 反序列化 JSON.NET 文本

使用 json.net/RestSharp 在 C# 中使用元数据反序列化 JSON

使用 C# 反序列化复杂的 Json

使用带有JSON.NET C#的内部类的json文件反序列化

在C#中使用Newtonsoft Json.NET反序列化JSON

在C#中使用json.net反序列化Json var

如何使用Newtonsoft在Vb.net中反序列化更复杂的Json Doc

使用JSON.NET反序列化JSON-无法反序列化,因为该类型需要JSON数组C#

使用C#.NET Core反序列化json

如何在C#中使用JSON.NET反序列化JSON RPC响应数组?

反序列化复杂的json对象C#

C#复杂的Json反序列化

复杂的Json与类的C#对象反序列化

在 c# 中反序列化复杂的 JSON

C#使用JSON.NET反序列化Dictionary <(Enum,Enum),string>

Json.NET:反序列化 Json 對象返回 null C# 對象

json.net在C#中反序列化json对象

在 C# 中反序列化 (.net json) 或序列化 (XmlSerializer) 期间填充 NULL 值

使用Json.net使用接口值反序列化复杂的嵌套字典类型

C# Json.NET - 反序列化 Dictionary<object, float>

根据.Net(C#)中的字段反序列化json

使用JSON.NET在C#中的类中使用缺少默认构造函数的JSON反序列化

反序列化Json String .net

JSON反序列化对象-.NET

VB .NET JSON 反序列化

Json.net反序列化