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 = 1, Name = "唐三", Age = 20, Gender = "男" });stuList.Add(new StudentInfo { ID = 2, Name = "小舞", Age = 20, Gender = "女" });stuList.Add(new StudentInfo { ID = 3, Name = "唐昊", Age = 52, 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.反序列化后的信息

转载于:https://www.cnblogs.com/QingYiShouJiuRen/p/10271269.html

C#中使用JavaScriptSerializer类实现序列化与反序列化相关推荐

  1. java培训教程分享:Java中怎样将数据对象序列化和反序列化?

    本期为大家介绍的java培训教程是关于"Java中怎样将数据对象序列化和反序列化?"的内容,相信大家都知道,程序在运行过程中,可能需要将一些数据永久地保存到磁盘上,而数据在Java ...

  2. JavaSE——IO(下)(Properties类、序列化与反序列化)

    第3节 IO(下) 一..properties文件与Properties类 1.1 .properties文件介绍 .properties文件一种属性文件,以键值对 的格式存储内容,在Java中可以使 ...

  3. 手把手教你如何在Unity中使用UnityGoogle.Protobuf3(三) 序列化与反序列化

    手把手教你使用Google.Protobuf3三 序列化与反序列化 1.Untiy工程创建 2.导入Google.Protobuf.dll 3.导入proto协议文件 4.编写序列化与反序列化工具类 ...

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

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

  5. Java中的Serializable接口之“序列化”与“反序列化”

    你是不是想问:为什么有的类实现Serializable接口?还有什么是序列化和反序列化? 带着这个问题往下看,看完就明白了! 序列化与反序列化 序列化是指把对象转换为字节序列的过程,我们称之为对象的序 ...

  6. java中的IO流之序列化与反序列化(对象数据和文件的读写交互)

    前言必读 读者手册(必读)_云边的快乐猫的博客-CSDN博客 一.知识点介绍 1.什么是序列化与反序列化? 对象与磁盘的交互读写. 2.为什么要学? 2.1在之前的IO流中,都是内存与磁盘进行交互的读 ...

  7. 在C#中使用Json.Net进行序列化和反序列化及定制化

    序列化(Serialize)是将对象转换成字节流,并将其用于存储或传输的过程,主要用途是保存对象的状态,以便在需要时重新创建该对象:反序列化(Deserialize)则是将上面的字节流转换为相应对象的 ...

  8. dubbo中使用kryo进行对象序列化,反序列化时报错

    最近在项目中遇到一个问题,应用部署到tomcat后启动报错,异常的大致意思是反序列话失败.dubbo中开启的序列化方式为kyro,自己对dubbo并不怎么熟悉,迷迷糊糊查了一圈.最后错误原因是因为消费 ...

  9. 集合中的实体类根据一个字段合并_JAVA中序列化与反序列化

    一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化: 把字节序列恢复为对象的过程称为对象的反序列化. 说人话:就是JAVA对象需要保存或通过网络传输必须保存为二进制才行,所以就需要 ...

最新文章

  1. 关于jQuery中自定义函数的操作
  2. 菜鸟学Linux命令:ssh命令 远程登录
  3. 一篇文章帮你彻底搞清楚“I/O多路复用”和“异步I/O”的前世今生
  4. 你是不是已经超纲了?一文解决JavaWeb中要求的HTML,是什么样的?
  5. 算法学习之路|最小生成树——prime算法
  6. PHP Mysql-简介
  7. css中换行的几种方式
  8. 微信小程序码生成时报data format error
  9. 网络中心化 和 去中心化
  10. ParrotSec 中文社区 QQ群认证 Openssl解密
  11. 想准确识别各地方言?这套15000小时方言语音数据推荐了解一下
  12. 宣州谢朓楼饯别校书叔云
  13. SWIFT之殇——针对越南先锋银行的黑客攻击技术初探
  14. 成熟男人的处事说话技巧
  15. in作为介词的用法_语法专题:介词in的使用规则
  16. linux定时关机命令_软件设计师必知Linux命令 | 推荐收藏~
  17. 数字图像处理 实验指导书
  18. IE调试网页之六:使用 F12 开发人员工具调试 HTML 和 CSS (Windows)
  19. 如何修改rk3399 ddr初始化代码的波特率
  20. 儿童绘本杂志儿童绘本杂志社儿童绘本编辑部2023年第7期目录

热门文章

  1. window部署DM8的DEM系统
  2. Qt程序打包发布方法(使用官方提供的windeployqt工具)
  3. 每天一道LeetCode-----杨辉三角
  4. Qt学习笔记-----信号槽
  5. 一个网卡下设置两个ip地址
  6. hostname, aliases, ipaddrs = gethostbyaddr(name) UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte
  7. Linux上的Systemctl命令
  8. 生成osm文件_超酷城市肌理!地理数据信息爬取方法大全(B篇)DEM+POI+OSM
  9. string.find()与string::npos
  10. mongodb 搜索速度_初识 MongoDB 数据库