![](/img/trans.png)
[英]Unsure how to define a C# class to handle JSON with variable property names
[英]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.