1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Text.RegularExpressions;
- using Newtonsoft.Json;
- namespace Common
- {
- /// <summary>
- /// 转换Json格式帮助类
- /// </summary>
- public static class JsonExtensions
- {
- /// <summary>
- /// Json字符串反序列化成对象
- /// </summary>
- /// <param name="json"></param>
- /// <returns></returns>
- public static object JsonToObject(this string json)
- {
- return JsonConvert.DeserializeObject(json);
- }
- /// <summary>
- /// 对象序列化成Json字符串
- /// </summary>
- /// <param name="obj">需要序列化的对象</param>
- /// <param name="isIgnoreNullValue">是否忽略值为NULL的属性,默认false</param>
- /// <returns></returns>
- public static string TryToJson(this object obj, bool isIgnoreNullValue = false)
- {
- string res;
- if (isIgnoreNullValue)
- {
- JsonSerializerSettings jsetting = new JsonSerializerSettings();
- JsonConvert.DefaultSettings = () =>
- {
- //日期类型默认格式化处理
- //jsetting.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat;
- //jsetting.DateFormatString = "yyyy-MM-dd HH:mm:ss";
- //空值处理,忽略值为NULL的属性
- jsetting.NullValueHandling = NullValueHandling.Ignore;
- return jsetting;
- };
- res = JsonConvert.SerializeObject(obj, Formatting.Indented, jsetting);
- }
- else
- {
- res = JsonConvert.SerializeObject(obj);
- }
- return res;
- }
-
- /// <summary>
- /// Json字符串反序列化成对象集合
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="json"></param>
- /// <returns></returns>
- public static List<T> JsonToList<T>(this string json)
- {
- return JsonConvert.DeserializeObject<List<T>>(json);
- }
- /// <summary>
- /// Json字符串反序列化成实体对象
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="json"></param>
- /// <returns></returns>
- public static T JsonToEntity<T>(this string json)
- {
- return JsonConvert.DeserializeObject<T>(json);
- }
- }
- }
|