【发布时间】:2019-02-19 20:45:46
【问题描述】:
如何获取以下类和属性的 JSON PropertyName?类似于 JSON 属性的“nameof()”之类的东西?
比如
var jsonName = GetJSONPropertyName(SampleClass.SampleClassID); //should return "jsoniD"
public class SampleClass
{
public SampleClass() { }
[JsonProperty(PropertyName = "jsoniD")]
public string SampleClassID { get; set; }
}
【问题讨论】:
-
不确定 Newtonsoft.Json(我认为这是您正在使用的库)是否具有实用功能。但如果不是,您始终可以通过反射检查类型及其成员,以查看它们是否带有特定属性以及这些属性的值是什么(参见此处:stackoverflow.com/questions/6637679/…)
-
@elgonzo 描述了如何做到这一点。意识到这不像
nameof()。nameof关键字在编译时起作用(并且没有运行时开销),您的GetJsonPropertyName函数将在运行时运行,调用反射来完成工作
标签: c# json reflection