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.序列化后的信息
6.反序列化后的信息
C#中使用JavaScriptSerializer类实现序列化与反序列化的更多相关文章
-
.Net类的序列化和反序列化 - 进阶者系列 - 学习者系列文章
今天看了下以前的一个工具的代码,其中涉及到.NET类的序列化和反序列化问题,所以就写一下. 这里说一下.NET类序列化的好处..NET类在序列化之前只是一个相对狭义的类.通过序列化,能够更好的保存该类 ...
-
初识序列化和反序列化,使用BinaryFormatter类、ISerializable接口、XmlSerializer类进行序列化和反序列化
序列化是将对象转换成字节流的过程,反序列化是把字节流转换成对象的过程.对象一旦被序列化,就可以把对象状态保存到硬盘的某个位置,甚至还可以通过网络发送给另外一台机器上运行的进程.本篇主要包括: ● 使用 ...
-
【转】在C#中使用Json.Net进行序列化和反序列化及定制化
作者:Minotauros 原文地址:在C#中使用Json.Net进行序列化和反序列化及定制化 序列化(Serialize)是将对象转换成字节流,并将其用于存储或传输的过程,主要用途是保存对象的状态, ...
-
详解电子表格中的json数据:序列化与反序列化
从XML到JSON 当下应用开发常见的B/S架构之下,我们会遇到很多需要进行前后端数据传输的场景.而在这个传输的过程中,数据通过何种格式传输.方式是否迅速便捷.书写方式是否简单易学,都成为了程序员在开 ...
-
java基础知识回顾之javaIO类--java序列化和反序列化
/** * * 一:理解序列化反序列化及其应用 * 序列化:把堆内存的对象转化成字节流的过程. * 反序列化:把字节流序列恢复重构成对象的过程. * 对象的序列化的用途:1.把对象的字节序列持久化, ...
-
C# 类的序列化和反序列化
序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态,重新创 ...
-
c# 通过json.net中的JsonConverter进行自定义序列化与反序列化
https://www.cnblogs.com/yijiayi/p/10051284.html 相信大家在工作中会经常遇见对json进行序列化与反序列化吧,但通常的序列化与反序列化中的json结构与c ...
-
JsonHelper类(序列化和反序列化辅助类)
1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Web; ...
-
用C#实现XML和实体类之间序列化和反序列化相互转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
随机推荐
-
EmployeeTest
package fourthf; public class EmployeeTest { public static void main(String[] args) { // TODO Auto-g ...
-
for 循环打印图形
public class For { public static void main(String[] args) { //"使用双层for循环打印图形时,外层管行,内层管列",那 ...
-
jsp xml servlet
什么都懂一点,什么都不精通!!
-
JSON与JAVA数据的转换
1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( "sec ...
-
gfortran、g77等编译器中使用多个文件
gfortran aaaa.f90 bbbb.f90 -o cccc (生成cccc可执行文件,cccc名称可*设定) 又可以分成两步,因为gfortran先把程序文件编译成*.o文件,再把*.o文 ...
-
jQuery--捕获键盘敲击
功能 当页面加载完成后,用户键盘按下某个键后,jQuery能够捕获到一个数字,从而执行一系列动作. 格式 1 2 3 4 5 6 7 8 9 10 11 12 $(function(){ $ ...
-
Oracle笔记----oracle数字类型number自增
创建序列 create sequence seq_student start increment maxvalue nominvalue nocycle nocache; 创建触发器 create o ...
-
Android应用程序性能优化Tips
对于我们设计的应用需要做到以下特征:build an app that's smooth, responsive(反应敏捷), and uses as little battery as possib ...
-
鼠标监听事件MouseListener
public class Demo extends JFrame { private JTextArea textArea; public Demo() { setBounds(100, 100, 4 ...
-
python中的jion
on将列表或元组中的每个元素连接起来,举个例子: 1 a = ["hello", "world", "dlrb"] 2 a1 = " ...