JSONNewtonsoft使用

本文深入探讨了Newtonsoft.Json库的高级应用,包括日期格式化处理、空值管理、序列化与反序列化操作,以及匿名对象的解析。通过具体代码示例,详细讲解了如何设置全局属性、序列化对象并格式化日期,以及如何从JSON字符串反序列化到特定类实例或匿名对象。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;

namespace Newtonsoft使用
{
    class Program
    {
        static void Main(string[] args)
        {
         
            #region 全局属性设置
            Newtonsoft.Json.JsonSerializerSettings setting = new Newtonsoft.Json.JsonSerializerSettings();
            JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() =>
            {
                //日期类型默认格式化处理
                setting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
                setting.DateFormatString = "yyyy-MM-dd HH:mm:ss";

                //空值处理
                setting.NullValueHandling = NullValueHandling.Ignore;

             

                return setting;
            });
            #endregion
            
            IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
            timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
            #region 序列化加日期hi格式化
            Studer studer = new Studer() { Age=18.ToString(), IsOpen=true, Name="张三" , Time=DateTime.Now};
           string json=Newtonsoft.Json.JsonConvert.SerializeObject(studer);
            //反序列化
            object obs = JObject.Parse(json);
            #endregion
            #region 反序列化
            //反序列化成匿名对象
            var stu = JsonConvert.DeserializeObject(json);
            //根据泛型反序列化
           var stu1=JsonConvert.DeserializeObject<Studer>(json).Name;
            #endregion
            #region 匿名对象解析
            var obj = new { ID = 2, Name = "李四" };
           string objStr=JsonConvert.SerializeObject(obj);
            //把匿名json转换成对象
          object obj2=JsonConvert.DeserializeAnonymousType(objStr, obj);  
         
            #endregion
            Console.ReadKey();
把json数组字符串解析出对象

// <summary>
/// 批量删除供应商类别
/// </summary>
/// <returns></returns>
public ActionResult DeleteAll(string ids)
{

dynamic dynamic = JToken.Parse(ids) as dynamic;


foreach (var item in dynamic)
{
var ix=(string)item.id;
}


return View();


}



        }
    }
    public class Studer
    {
        public string Name { get; set; }
        public string Age { get; set; }
        public bool IsOpen { get; set; }
       
        public DateTime Time { get; set; }
    }
}

 

转载于:https://www.cnblogs.com/kangyuanjiang/p/9878923.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值