JSON期望属性"@class" .如何在 C# 中定义



我正在与一个 API 交互,其中预期的 json 包含一个名为"@class"的属性。

为了澄清起见(正如这里多次问的那样),如果该属性只是简单地称为"类",那么您可以在前面添加符号"@"以逃避我们使用保留字的事实,例如:

public string @class { get; set; }

但是,在这种情况下,属性名称包含"@"符号。我无法更改类的定义,因为更改不是我的。

正如你所料,json2csharp 不喜欢它,并且通过它运行示例 json 返回:

public string __invalid_name__@class { get; set; } 

这似乎是完全合理的!

除了在发送之前立即在 json 上使用 string.replace 之外,还有什么方法可以解决这个问题(对我来说感觉很脏!

如果你可以使用 Json.NET,你可以通过属性轻松指定它:

public class Test
{
    [JsonProperty("@class")]
    public string Name { get; set; }
}

相关内容

  • 没有找到相关文章

最新更新