使用KeyAttributeValues反序列化<list <>&gt;(jsonReader)

时间:2018-04-06 13:58:40

标签: c# json

我有一个包含以下内容的JSON文件: JSON

我如何进行反序列化?我收到一个错误请求使用数组。

继承我的主要代码:

enter image description here

这是我的Colors类: enter image description here

如果我删除JSON中除颜色,类别,类型和代码字段之外的所有内容,那么我可以使用Deserialize&gt;(JsonReader)调用,但是我在这里使用了tte Code类的keyattributevalues。关于如何包含这个的任何建议?

1 个答案:

答案 0 :(得分:4)

当您的JSON实际上是一个名为List<Color> 属性的对象时,您似乎正在尝试将其反序列化为简单的colors >哪个不一样......

你的JSON需要看起来像这样:

[
    {
        "color":"white",
        "category":"etc",
        "code":{
            "rgba":"xxx",
            ....
        }
    },
    {
        "color":"green",
        "category":"etc",
        ...
    }
]

或者您需要另一个更高级别的课程(MyColors的目的是什么?):

public class ColorsCollection
{
    public IEnumerable<Color> Colors { get; set; }
}

然后:

var colorCollection = Serializer.Deserialize<ColorsCollection>(jsonReader);