newtonsoft序列化Json常用的参数

Converters: 一个包含自定义转换器的集合,这些转换器用于将对象序列化为 JSON 或从 JSON 反序列化为对象。
DateFormatHandling: 控制日期和时间格式的处理方式。例如,可以将日期格式化为特定的字符串格式,或者使用 ISO 8601 格式。
DateTimeZoneHandling: 控制日期时间值的时区处理方式。可以选择本地、UTC 或不处理。
IsoDateTimeFormat: 一个布尔值,用于指示是否将日期时间值格式化为 ISO 8601 格式。
SerializationMemberSelector: 一个委托,允许您自定义哪些属性将被序列化。
ReferenceLoopHandling: 控制循环引用的处理方式。可以选择忽略、警告或抛出异常。
MissingMemberHandling: 控制缺少成员的处理方式。可以选择忽略、抛出异常或引发警告。
DefaultSettings: 使用默认设置进行序列化。这些设置可以覆盖应用程序中的其他特定设置。
ContractResolver: 用于控制 JSON.NET 如何推断和创建 JSON 合同。这允许您自定义命名约定、忽略默认属性等。
NamingStrategy: 用于控制 JSON.NET 中的命名约定。例如,可以使用 CamelCase 或 PascalCase 命名约定。
StringEscapeHandling: 控制字符串转义字符的处理方式。可以选择逃逸或不逃逸转义字符。
ReferenceResolutionPolicy: 控制如何处理重复引用相同的对象。可以选择警告、忽略或抛出异常。
NullValueHandling: 控制如何处理空值。可以选择忽略、表示为 null 或使用默认值。

C#代码

/// <summary>
/// 对象转化为字符串
/// </summary>
/// <param name="obj"></param>
/// <param name="isIgnoreNull">是否忽略null值,默认false</param>
/// <param name="isCamelCase">是否转化为小驼峰</param>
/// <param name="timeFormat">时间的格式化代码</param>
/// <param name="isNeedFormat">是否需要格式化默认false</param>
/// <returns></returns>
public static string ObjectToJson(object obj, bool isIgnoreNull = false,
    bool isCamelCase = false, string timeFormat = "", bool isNeedFormat = false)
{
    try
    {
        var settings = new JsonSerializerSettings();
        if (isIgnoreNull)
        {
            settings.DefaultValueHandling = DefaultValueHandling.Ignore;
        }
        else
        {
            settings.DefaultValueHandling = DefaultValueHandling.Include;
        }
        if (isCamelCase)
        {
            //修改属性名称的序列化方式,首字母小写
            settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
        }
        if (!string.IsNullOrEmpty(timeFormat))
        {
            //修改时间的序列化方式
            settings.Converters.Add(new IsoDateTimeConverter()
            {
                DateTimeFormat = timeFormat
            });
        }
        if (!isNeedFormat)
        {
            //是否进行格式化,格式化方便人的查看
            settings.Formatting = Formatting.None;
        }
        return JsonConvert.SerializeObject(obj, settings);
    }
    catch
    {
        return string.Empty;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假装我不帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值