相关疑难解决方法(0)

反序列化包含与关键字冲突的属性的JSON响应

有一个我无法控制的API,但我需要使用C#消耗它的输出,最好使用JSON.Net.

这是一个示例响应:

[
    {
        "media_id": 36867, 
        "explicit": 0
    }
]
Run Code Online (Sandbox Code Playgroud)

我曾计划过这样的课程:

class Media {
    public int media_id;
    public int explicit;
}
Run Code Online (Sandbox Code Playgroud)

并反序列化:

var l = JsonConvert.DeserializeObject<List<Media>>(s);
Run Code Online (Sandbox Code Playgroud)

不幸的是,"explicit"是一个C#关键字,因此无法编译.

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

class Media {
    public int media_id;
    public int explicit_;
}
Run Code Online (Sandbox Code Playgroud)

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

我该怎么做,或者我是否完全以错误的方式行事?

如果没有这个,我可以明白忽略响应中的"显式",如果有办法做到这一点?

c# json json.net

11
推荐指数
2
解决办法
7003
查看次数

标签 统计

c# ×1

json ×1

json.net ×1