如何在对象的不同属性上创建自定义序列化

时间:2017-05-15 21:49:20

标签: json.net

我有一个对象,我想将其序列化为自定义序列化格式。例如

     class MyObj
     {
        public string Name { get;set;}
        public Dictionary<string, string> KeyValues {get;set; }
     }

我想要camelcase Name而不是KeyValues。在牛顿软件中这可能吗?我知道如何为整个对象执行此操作,但不知道如何为特定属性执行此操作。

因此,输出应如下所示:

    {
      "name" : "Mike", 
      "keyValues": 
       {
           "Abc": "x",
           "Prv": "y"
       }
    }

1 个答案:

答案 0 :(得分:0)

您只需使用JsonProperty对字段进行属性设置并设置要使用的标签:

public class MyObj
{
    [JsonProperty("name")]
    public string Name { get;set;}

    [JsonProperty("KeyValues")]
    public Dictionary<string, string> KeyValues {get;set; }
}

JsonProperty包含在Newtonsoft.Json库中。