C#中使用JavaScriptSerializer类实现序列化与反序列化

时间:2023-01-02 20:17:59

1.添加引用

JavaScriptSerializer类的使用需要引用System.Web.Extensions.dll文件,根据路径:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Web.Extensions.dll,找到后直接添加至引用即可,另外代码中需要使用using System.Web.Script.Serialization;

2.常见方法介绍

(1) JavaScriptSerializer():构造函数,用于创建新的JavaScriptSerializer对象。

(2)ConvertToType<T>(object):将json字符串转为类型为T(将一个Object对象转换为指定的对象T)。

(3)Deserialize<T>(string):将json字符串转化为类型T。

(4)Serialize(object):将一个对象序列化成JSON字符串

3.定义一个类,用来序列化与反序列化

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace MyJson
{
public class StudentInfo
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; } }
}

4.实例操作:将上述列表信息序列化与反序列化

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
namespace MyJson
{
class Program
{
static void Main(string[] args)
{
List<StudentInfo> stuList = new List<StudentInfo>();
stuList.Add(new StudentInfo() { ID = , Name = "唐三", Age = , Gender = "男" });
stuList.Add(new StudentInfo { ID = , Name = "小舞", Age = , Gender = "女" });
stuList.Add(new StudentInfo { ID = , Name = "唐昊", Age = , Gender = "男" }); //创建一个JavaScriptSerializer对象
JavaScriptSerializer json = new JavaScriptSerializer();
//将上述信息列表序列化为Json字符串
string serializeResult = json.Serialize(stuList);
//序列化后的信息
Console.WriteLine("{0}", serializeResult);
//将josn字符反序列化为信息列表
List<StudentInfo> DeserializedResult = json.Deserialize<List<StudentInfo>>(serializeResult);
//反序列化后的信息
foreach(StudentInfo stuInfo in DeserializedResult)
{
Console.WriteLine("ID:{0}", stuInfo.ID);
Console.WriteLine("Name:{0}", stuInfo.Name);
Console.WriteLine("Age:{0}", stuInfo.Age);
Console.WriteLine("Gender:{0}", stuInfo.Gender);
}
Console.ReadKey();
}
}
}

5.序列化后的信息

C#中使用JavaScriptSerializer类实现序列化与反序列化

6.反序列化后的信息

C#中使用JavaScriptSerializer类实现序列化与反序列化

C#中使用JavaScriptSerializer类实现序列化与反序列化的更多相关文章

  1. &period;Net类的序列化和反序列化 - 进阶者系列 - 学习者系列文章

    今天看了下以前的一个工具的代码,其中涉及到.NET类的序列化和反序列化问题,所以就写一下. 这里说一下.NET类序列化的好处..NET类在序列化之前只是一个相对狭义的类.通过序列化,能够更好的保存该类 ...

  2. 初识序列化和反序列化&comma;使用BinaryFormatter类、ISerializable接口、XmlSerializer类进行序列化和反序列化

    序列化是将对象转换成字节流的过程,反序列化是把字节流转换成对象的过程.对象一旦被序列化,就可以把对象状态保存到硬盘的某个位置,甚至还可以通过网络发送给另外一台机器上运行的进程.本篇主要包括: ● 使用 ...

  3. 【转】在C&num;中使用Json&period;Net进行序列化和反序列化及定制化

    作者:Minotauros 原文地址:在C#中使用Json.Net进行序列化和反序列化及定制化 序列化(Serialize)是将对象转换成字节流,并将其用于存储或传输的过程,主要用途是保存对象的状态, ...

  4. 详解电子表格中的json数据:序列化与反序列化

    从XML到JSON 当下应用开发常见的B/S架构之下,我们会遇到很多需要进行前后端数据传输的场景.而在这个传输的过程中,数据通过何种格式传输.方式是否迅速便捷.书写方式是否简单易学,都成为了程序员在开 ...

  5. java基础知识回顾之javaIO类--java序列化和反序列化

    /** *  * 一:理解序列化反序列化及其应用 * 序列化:把堆内存的对象转化成字节流的过程. * 反序列化:把字节流序列恢复重构成对象的过程. * 对象的序列化的用途:1.把对象的字节序列持久化, ...

  6. C&num; 类的序列化和反序列化

    序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态,重新创 ...

  7. c&num; 通过json&period;net中的JsonConverter进行自定义序列化与反序列化

    https://www.cnblogs.com/yijiayi/p/10051284.html 相信大家在工作中会经常遇见对json进行序列化与反序列化吧,但通常的序列化与反序列化中的json结构与c ...

  8. JsonHelper类(序列化和反序列化辅助类)

       1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Web; ...

  9. 用C&num;实现XML和实体类之间序列化和反序列化相互转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

随机推荐

  1. EmployeeTest

    package fourthf; public class EmployeeTest { public static void main(String[] args) { // TODO Auto-g ...

  2. for 循环打印图形

    public class For { public static void main(String[] args) { //"使用双层for循环打印图形时,外层管行,内层管列",那 ...

  3. jsp xml servlet

    什么都懂一点,什么都不精通!!

  4. JSON与JAVA数据的转换

      1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( "sec ...

  5. gfortran、g77等编译器中使用多个文件

    gfortran aaaa.f90 bbbb.f90 -o cccc (生成cccc可执行文件,cccc名称可*设定) 又可以分成两步,因为gfortran先把程序文件编译成*.o文件,再把*.o文 ...

  6. jQuery--捕获键盘敲击

    功能 当页面加载完成​后,用户键盘按下某个键后,jQuery能够捕获到一个数字,从而执行一系列动作. 格式 1 2 3 4 5 6 7 8 9 10 11 12 $(function(){     $ ...

  7. Oracle笔记----oracle数字类型number自增

    创建序列 create sequence seq_student start increment maxvalue nominvalue nocycle nocache; 创建触发器 create o ...

  8. Android应用程序性能优化Tips

    对于我们设计的应用需要做到以下特征:build an app that's smooth, responsive(反应敏捷), and uses as little battery as possib ...

  9. 鼠标监听事件MouseListener

    public class Demo extends JFrame { private JTextArea textArea; public Demo() { setBounds(100, 100, 4 ...

  10. python中的jion

    on将列表或元组中的每个元素连接起来,举个例子: 1 a = ["hello", "world", "dlrb"] 2 a1 = &quot ...

相关文章