c# – 对包含与关键字冲突的属性的JSON响应进行反序列化

前端之家收集整理的这篇文章主要介绍了c# – 对包含与关键字冲突的属性的JSON响应进行反序列化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有一个我无法控制的API,但是我需要使用C#消耗的输出,最好使用 JSON.Net.

这里有一个例子:

[
    {
        "media_id": 36867,"explicit": 0
    }
]

我打算上课一样

class Media {
    public int media_id;
    public int explicit;
}

并反序列化:

var l = JsonConvert.DeserializeObject<List<Media>>(s);

不幸的是,“显式”是一个C#关键字,所以无法编译.

我的下一个猜测是修改类:

class Media {
    public int media_id;
    public int explicit_;
}

…并以某种方式将响应属性映射到C#属性.

我该怎么做,或者我完全以这个错误的方式呢?

如果没有这样的话,我可以简单地忽略答复中的“明确”,如果有办法做到这一点

解决方法

没有使用JSON.Net,但是根据文档 here,我想你只需要做你想做的XmlSerialization:添加一个属性来告诉JSON属性应该如何调用
class Media {
    [JsonProperty("media_id")]
    public int MediaId;
    [JsonProperty("explicit")]
    public int Explicit;
}

猜你在找的C#相关文章