C# 序列化与反序列化

Json 序列化是指 实体类属性转化成Json

Josn 反序列化指 将Json转化为实体类

1.使用JavaScriptSerializer类:

//使用JavaScriptSerializer方式需要引入的命名空间,这个在程序集System.Web.Extensions.dll.中

using System.Web.Script.Serialization;

class Program
{
    static void Main(string[] args)
    {
        //序列化操作
        JavaScriptSerializer jss = new JavaScriptSerializer();
        var json = new { name = "fxhl", age = 23 };           
        string str = jss.Serialize(json);  
        //反序列化操作
        Person person = jss.Deserialize<Person>(str);
        Console.WriteLine(person.name);
    }
}  
[Serializable]      
public class Person
{
    public string name { get; set; }
    public int age { get; set; }

}


2.使用JSON.NET类库:

引入类库:

//使用Json.NET类库需要引入的命名空间

class Program
{
static void Main(string[] args)
{
    //序列化操作
    var json = new { user = new { name = "fxhl", age = 23 }};
    string jsonData = JsonConvert.SerializeObject(json);
    Console.WriteLine(jsonData);
    //反序列化操作方法一
    Person p1= JsonConvert.DeserializeObject<Person>(jsonData);
    Console.WriteLine(p1.user.name);
    //反序列化操作方法二
    string json2 = "[{\"user\":{\"name\":\"fxhl\",\"age\":23}}]";
    List<Person> listp2= JsonConvert.DeserializeObject<List<Person>>(json2);
    Console.WriteLine(listp2[0].user.name);
    Console.ReadKey();
}
}
public class Person
{
    public Person user { get; set; }
    public string name { get; set; }
    public int age { get; set; }

}


摘自 https://www.cnblogs.com/fengxuehuanlin/p/5700282.html#anchor4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值