关于c#:从多级JObject属性设置类属性

Set Class Property From Multi-level JObject Property

本问题已经有最佳答案,请猛点这里访问。

我有一类具有这样的属性:

1
2
    [JsonProperty("property_name")]
    public string PropertyName { get; internal set; }

然后使用[JObject].ToObject()填充类的属性。 通常,这可以正常工作,但是JObject中的某些属性要低几个级别。 例如,可以通过items.first_group.property访问它们。 但是,如果我尝试将JsonPropertyPropertyName设置为该值,例如

1
[JsonProperty("monkeyOne.name")]

它只是没有设置值。 我是在做错什么,还是真的不可能做到这一点? 如果不是,那是有原因还是只是没有实施?


当您说它"下降了几级"时,表明没有属性" monkeyOne.name"。

可能有一个属性" monkeyOne",它是一个具有"名称"属性的对象,但这是完全不同的事情。

仅当JObject的整体结构与类结构匹配时,才可以使用ToObject。