C# Json 序列化与反序列化

本文介绍如何使用Newtonsoft.Json库在C#中进行对象的序列化和反序列化操作,包括创建自定义类、实例化并序列化为JSON字符串,以及将JSON数据反序列化为C#对象的过程。

!!需要引用Newtonsoft.Json; 可通过nuget在线安装

序列化

//创建类
public class ExecResult
{
    public bool _Status { set; get; }

    public string _MsgCode { set; get; }

    public string _Message { set; get; }

    public string _Anything { set; get; }
}

//实例化类
ExecResult _ExecResult = new ExecResult();
_ExecResult._Message = "OK";
_ExecResult._Anything = "AA";
string ExecResultJson = JsonConvert.SerializeObject(_ExecResult);

//获得序列化Json数据
{
    "_Status": false,
    "_MsgCode": "",
    "_Message": "OK",
    "_Anything": "AA"
}

 

反序列化

//Json数据
{
    "message": {
        "body": {
            "timestamp": {
                "value": "2018-09-25T10:25:00+09:00"
            }
        }
        "Message": [
            {
             "StageName": "A",
            },
            {
             "StageName": "B",
            }
        ]
    }
}


//创建类,用来接受反序列化数据
public class msg530DataC
{
    //public string message { get; set; }
    public messageC message = new messageC();
    public class messageC
    {
        public bodyC body = new bodyC();
        public List<messageC> message = new List<messageC>();
        public class bodyC
        {
            public timestampC timestamp = new timestampC();
            public class timestampC
            {
                public string value = null;
            }
        }
        public class messageC
        {
            public string StageName { get; set; }
        }
    }
}


//反序列化
msg530DataC messageD = JsonConvert.DeserializeObject<msg530DataC>(content_rec);
logger.Info(messageD.message.body.timestamp.value);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值