json 需要属性“@class”。如何在c#中定义
json expects a property "@class". How to define in c#
我正在与一个 API 交互,其中预期的 json 包含一个名为“@class”的属性。
为了澄清(正如在这里多次被问到的那样),如果该属性被简单地称为 "class" 那么您可以在前面添加符号“@”以逃避我们'重新使用保留字,例如:
public string @class { get; set; }
但是在这种情况下,属性名称包含“@”符号。我无法更改 class 的定义,因为它不是我可以更改的。
如您所料,json2csharp 不喜欢它,通过它运行示例 json 返回:
public string __invalid_name__@class { get; set; }
这似乎完全合理!
除了在发送之前立即在 json 上使用 string.replace 之外,还有其他解决方法吗(我觉得这很脏!)?
如果可以使用Json.NET,可以通过属性轻松指定:
public class Test
{
[JsonProperty("@class")]
public string Name { get; set; }
}
我正在与一个 API 交互,其中预期的 json 包含一个名为“@class”的属性。
为了澄清(正如在这里多次被问到的那样),如果该属性被简单地称为 "class" 那么您可以在前面添加符号“@”以逃避我们'重新使用保留字,例如:
public string @class { get; set; }
但是在这种情况下,属性名称包含“@”符号。我无法更改 class 的定义,因为它不是我可以更改的。
如您所料,json2csharp 不喜欢它,通过它运行示例 json 返回:
public string __invalid_name__@class { get; set; }
这似乎完全合理!
除了在发送之前立即在 json 上使用 string.replace 之外,还有其他解决方法吗(我觉得这很脏!)?
如果可以使用Json.NET,可以通过属性轻松指定:
public class Test
{
[JsonProperty("@class")]
public string Name { get; set; }
}