加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:19:16 所属栏目:百科 来源:网络整理
导读:有一个我无法控制的API,但是我需要使用C#消耗的输出,最好使用 JSON.Net. 这里有一个例子: [ { "media_id": 36867,"explicit": 0 }] 我打算上课一样 class Media { public int media_id; public int explicit;} 并反序列化: var l = JsonConvert.Deserializ
有一个我无法控制的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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读