微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;
}

原文地址:https://www.jb51.cc/csharp/95879.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐