我通过外部服务的HTTP-POST收到json-string(这是我无法控制的)。这个json中的一个关键是params:{...},
我需要将这个json映射到类MyClass
。如果params
是C#中的关键字,那么这很简单。
我尝试过使用Newtonsofts json.NET(版本7.0.0)库,并在MyClass
中有以下内容:
[JsonProperty(PropertyName = "params")]
public TrustlyNotifParams Parameters { get; set;}
但Parameters
最终为null
。发布的json有params的嵌套值,我通过日志记录看到了这一点。
层次结构中Parameters
以上的所有内容都可以解析得很好。我在这做错了什么?
答案 0 :(得分:1)
您可以(谨慎地)将关键字作为属性或变量的名称,您只需要告诉编译器将其视为这样。这与您告诉它将字符串视为文字而不是使用转义序列的方式相同:
public TrustlyNotifParams @params { get; set; }
@
符号告诉编译器将以下内容视为变量,字段,属性名称等。