C# 如何在Json.Net中重命名JsonProperty属性类型的子属性?

C# 如何在Json.Net中重命名JsonProperty属性类型的子属性?,c#,.net,serialization,json.net,C#,.net,Serialization,Json.net,在使用自定义ContractResolver进行序列化时,我为一级对象属性实现了这些功能,如下所示: protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization) { var properties = base.CreateProperties(type, memberSerialization); foreach

在使用自定义
ContractResolver
进行序列化时,我为一级对象属性实现了这些功能,如下所示:

protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
{
    var properties = base.CreateProperties(type, memberSerialization);
    foreach (p in properties)
    {
       p.PropertyName = "any_new_name";
    }

    return properties;
}
其中
Bar

public class GetReportDataViewModel
{
    public string Foo1 { get; set; }

    public int Bar21 { get; set; }
}
所以,我希望结果是这样的

  {
    "any_new_name": "str_value",
    "any_new_name": int_value,
    "any_new_name": {
       "any_new_name": "str_value",
       "any_new_name": int_value
      }
  }

你可以尝试动态对象创建为什么不想使用
JsonProperty
attribute?@PavelAnikhouski这些元组的东西来调优所有的对象呢。然而,我发现solution@anatol然后,
JObject
类会很有帮助:)@anatol如果你找到了解决方案,你应该回答你自己的帖子
  {
    "any_new_name": "str_value",
    "any_new_name": int_value,
    "any_new_name": {
       "any_new_name": "str_value",
       "any_new_name": int_value
      }
  }