【发布时间】:2019-09-16 20:50:52
【问题描述】:
如何使用(生成的)JsonProperty Name = JSON 文件中的名称来访问相应 C# 类中的单个元素? 这就是我想要做的……
我有一个 Xamarin“经典”Newtonsoft 应用程序,我在其中将 JSON 文件加载到 C# 类 MagicTime。
这是我课程的第一部分 - 这是由 newtonsoft 网站使用我的 JSON 文件自动生成的
public partial class MagicTime
{
[JsonProperty("Accel Delay")]
public long AccelDelay { get; set; }
[JsonProperty("Accel Period")]
public long AccelPeriod { get; set; }
[JsonProperty("Alt DT Step")]
public long AltDtStep { get; set; }
[JsonProperty("Beep On Command")]
public bool BeepOnCommand { get; set; }
[JsonProperty("Bunt Step")]
public long BuntStep { get; set; }
[JsonProperty("Bunt Timeout")]
这是加载/反序列化一个瞬间的方式,其中 loadp 是包含 JSON 文件内容的字符串变量
MagicTime MT = JsonConvert.DeserializeObject<MagicTime>(loadp );
这很好用 在应用程序中,我修改了一些数据元素的值,例如 看上面——MT.AccelDelay = 21;
然后我反转这个过程并把 /Serialize I 写出来
那也行。
现在我有一个新的需求,使用JsonProperty名称来访问对应的C#数据项
上面的例子我想用[JsonProperty("Accel Delay")]来访问对应的c#元素MT.AccelDelay。
我已经看到了将 JSON 字符串加载到 JObject 以执行此操作的示例,但不是我的情况(我可以看到)JObject
【问题讨论】: