试图扩展Newtonsoft.Json.JsonConvert的SerializeObject方法

时间:2017-12-05 16:10:53

标签: c# json.net

我尝试扩展Newtonsoft.Json.JsonConvert以使返回的JSON始终格式化但我收到错误“无法声明静态类型Newtonsoft.Json.JsonConvert的变量”。我不知道代码有什么问题,是不是因为我无法扩展静态类JsonConvert?也许我的方法基本上是错误的,因为扩展方法不会覆盖实例方法。我不确定。

using Newtonsoft.Json;

namespace SomeNameSpace
{
    public static class MakeSerializationPrettyAlways
    {
        public static string SerializeObject(this JsonConvert jc, object value)
        {
            return JsonConvert.SerializeObject(value, Formatting.Indented);
        }
    }
}

1 个答案:

答案 0 :(得分:2)

JsonConvert是一个静态类。您无法使用静态类作为目标来创建扩展方法。

以下内容应更改您的默认序列号:

JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
    Formatting = Formatting.Indented
};