我正在try 使用Web API.我创建了一个类,这样我就可以反序列化我得到的数据.问题是返回的对象具有以下两个属性:

public string id { get; set; }
public string set_id { get; set; }

set_id个与"套装"有关.编译器在id属性中的set;上抛出错误,说它已经包含set_id的定义.

CS0102类型‘MyClass’已包含‘set_id’的定义

有没有办法在不重命名房产的情况下解决这个问题?

推荐答案

我建议使用JsonPropertyName

例如:

using System.Text.Json.Serialization;

    namespace ConsoleApp1
    {
        public class Class1
        {
            public string id { get; set; }
            [JsonPropertyName("set_id")]
            public string setId { get; set; }
        }
    }

这个属性基于您的json库,如果您使用newtonsoft,它将是JsonProperty.

Csharp相关问答推荐

元素存在方法是否损坏

访问C#中的数据库字段时获取数据是收件箱错误-为什么?&有效,如果声明不有效

ASP.NET Core -是否可以对所有最小API端点应用过滤器?

PredicateBuilder不是循环工作,而是手动工作

为什么在GuardationRule的收件箱函数中,decode.TryParse(valueString,out valueParsed)在给出1.0.1时返回true?

在C#中使用in修饰符

无法解析数据库上下文的服务

图形API基于appid列表检索多个应用程序

如何使用C#Interop EXCEL创建度量衡

有没有办法在WPF文本框中添加复制事件的处理程序?

try 使用C#ASP.NET收集WMI信息时访问被拒绝,但在PowerShell中工作

集合表达式没有目标类型

在C#中反序列化/序列化具有混合元素顺序的XML时出现问题

在Docker容器中运行API项目时,无法本地浏览到index.html

try 链接被委派者(多播委托)时,无法将获取运算符应用于类型为';方法组&39;和方法组';的操作数

将操作从编辑页重定向到带参数的索引页

C#静态抽象属性不能被子接口覆盖

DropDownListFor未显示选定值

除非首先访问使用的终结点,否则本地API上的终结点不起作用

.NET8支持Vector512,但为什么向量不能达到512位?