繁体   English   中英

json期望一个属性“@class”。 如何在c#中定义

[英]json expects a property “@class”. How to define in 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; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM