我有以下类定义:
class PostObject
{
public string jsonrpc { get; set; }
public string method { get; set; }
public MyObject params { get; set; }
public string id { get; set; }
}
我使用此类进行后调用(在json中序列化)并且服务器将' params '作为输入post var并且无法更改它。
问题是,由于 params 是c#中的保留关键字,我该怎么办?
答案 0 :(得分:5)
您可以使用序列化属性来设置其名称。像这样(NewtonSoft.Json):
[JsonProperty(PropertyName = "params")]
public MyObject parameters { get; set; }
答案 1 :(得分:3)
请参阅MSDN。您仍然可以使用关键字作为变量名称,但可以附加“@”。示例: - int @ int = 100;
源,
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
答案 2 :(得分:0)
除了@
转义和JsonPropertyAttribute
之外,还值得一提的是,您不需要像NewtonSoft.Json
这样的库一样遵循确切的大写:
public string Params { get; set; }