本文首发于个人博客https://kezunlin.me/post/22391aa3/,欢迎阅读最新内容!

c# json serialize and deserialize using json.net JsonConvert

Guide

Json.NET

  • JsonConvert.SerializeObject
  • JsonConvert.DeserializeObject

install

Use NuGet to download the package

  1. "Project" -> "Manage NuGet packages" -> "Search for "newtonsoft json". -> click "install".

code

reference

  1. using Newtonsoft.Json;

serialize collections

  1. Product p1 = new Product
  2. {
  3. Name = "Product 1",
  4. Price = 99.95m,
  5. ExpiryDate = new DateTime(2000, 12, 29, 0, 0, 0, DateTimeKind.Utc),
  6. };
  7. Product p2 = new Product
  8. {
  9. Name = "Product 2",
  10. Price = 12.50m,
  11. ExpiryDate = new DateTime(2009, 7, 31, 0, 0, 0, DateTimeKind.Utc),
  12. };
  13. List<Product> products = new List<Product>();
  14. products.Add(p1);
  15. products.Add(p2);
  16. string json = JsonConvert.SerializeObject(products, Formatting.Indented);
  17. //[
  18. // {
  19. // "Name": "Product 1",
  20. // "ExpiryDate": "2000-12-29T00:00:00Z",
  21. // "Price": 99.95,
  22. // "Sizes": null
  23. // },
  24. // {
  25. // "Name": "Product 2",
  26. // "ExpiryDate": "2009-07-31T00:00:00Z",
  27. // "Price": 12.50,
  28. // "Sizes": null
  29. // }
  30. //]

deserialize collections

  1. string json = @"[
  2. {
  3. 'Name': 'Product 1',
  4. 'ExpiryDate': '2000-12-29T00:00Z',
  5. 'Price': 99.95,
  6. 'Sizes': null
  7. },
  8. {
  9. 'Name': 'Product 2',
  10. 'ExpiryDate': '2009-07-31T00:00Z',
  11. 'Price': 12.50,
  12. 'Sizes': null
  13. }
  14. ]";
  15. List<Product> products = JsonConvert.DeserializeObject<List<Product>>(json);
  16. Console.WriteLine(products.Count);
  17. // 2
  18. Product p1 = products[0];
  19. Console.WriteLine(p1.Name);
  20. // Product 1

serialize to json file

  1. public class Movie
  2. {
  3. public string Name { get; set; }
  4. public int Year { get; set; }
  5. }
  6. Movie movie = new Movie
  7. {
  8. Name = "Bad Boys",
  9. Year = 1995
  10. };
  11. // serialize JSON to a string and then write string to a file
  12. File.WriteAllText(@"c:\movie.json", JsonConvert.SerializeObject(movie));
  13. // serialize JSON directly to a file
  14. using (StreamWriter file = File.CreateText(@"c:\movie.json"))
  15. {
  16. JsonSerializer serializer = new JsonSerializer();
  17. serializer.Serialize(file, movie);
  18. }

Reference

History

  • 20190910: created.

Copyright

C# 使用Json.NET对数据进行序列化和反序列化 | c# json serialize and deserialize using json.net JsonConvert的更多相关文章

  1. 对 JSON 数据进行序列化和反序列化

    如何:对 JSON 数据进行序列化和反序列化 2017/03/30 作者 JSON(JavaScript 对象符号)是一种高效的数据编码格式,可用于在客户端浏览器和支持 AJAX 的 Web 服务之间 ...

  2. Json数据的序列化与反序列化的三种经常用法介绍

    下面内容是本作者从官网中看对应的教程后所做的demo.其体现了作者对相关知识点的个人理解..作者才疏学浅,难免会有理解不到位的地方.. 还请各位读者批判性对待... 本文主要介绍在Json数据的序列化 ...

  3. C# 编写通用的JSON数据进行序列化和反序列化

    注意事项:使用JSON系列化和反系列化,必须要添加引用System.Runtime.Serialization. 1.通用类代码如下: /// <summary>    /// JSON序 ...

  4. Android 中的Json解析工具fastjson 、序列化、反序列化

    Android中通常需要访问服务器,然而服务器返回的数据很多时候都是Json格式 1.fastjson简介 阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备 ...

  5. c#中对json数据的序列化和反序列化(笔记)

    今天遇到在后台中要获取json格式数据里的某些值,网上查了些资料: string jsonstr = _vCustomerService.LoadCustomerbyNumTotalData(quer ...

  6. Python 中数据的序列化和反序列化(json处理)

    概念: JSON(JavaScript Object Notation):是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming ...

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

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

  8. asp.net的JSON数据进行序列化和反序列化

    先要引用在程序集 System.Web.Extensions.dll 的类库,在类中 using System.Web.Script.Serialization 命名空间. 1.定义一个强类型的类(m ...

  9. 模块讲解----json模块(跨平台的序列化与反序列化)

    一.json的特点 1.只能处理简单的可序列化的对象:(字典,列表,元祖) 2.json支持不同语言之间的数据交互:(python  -  go,python - java)   二.使用场景 1.玩 ...

随机推荐

  1. BitMap原理

    BitMap原理  

  2. SQl Server 中的decimal( m , n )的意思

    create table sc( cno ), sno ), grade ,), primary key(cno,sno), foreign key(cno) references cou(cno), ...

  3. File Zilla server安装完报错could not load TLS libraries. aborting start of administration interface

    问题描述: 系统:Windows2008R2x64 安装完filezillaserver以后出现这个问题 解决方法: 需要安装个系统补丁:Windows6.1-KB2533623-x64 安装完重启服 ...

  4. 如何使用1行代码让你的C++程序控制台输出彩色log信息

    本文首发于个人博客https://kezunlin.me/post/a201e11b/,欢迎阅读最新内容! colorwheel for colored print and trace for cpp ...

  5. React躬行记(1)——函数式编程

    函数式编程是React的精髓,在正式讲解React之前,有必要先了解一下函数式编程,有助于更好的理解React的特点.函数式编程(Functional Programming)不是一种新的框架或工具, ...

  6. Python 关于 pip 部分相关库的安装

    下文中“:”后面安装的安装语句需要打开 cmd (命令提示符),在 cmd 中输入. 示例: 在搜索框输入 cmd,单机命令提示符: 然后输入安装语句,按回车键: 因为我之前已经装过了,所以这里显示的 ...

  7. (四十四)c#Winform自定义控件-水波-HZHControls

    官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...

  8. [WPF 自定义控件]开始一个自定义控件库项目

    1. 目标 我实现了一个自定义控件库,并且打算用这个控件库作例子写一些博客.这个控件库主要目标是用于教学,希望通过这些博客初学者可以学会为自己或公司创建自定义控件,并且对WPF有更深入的了解. 控件库 ...

  9. WPF TreeView 虚拟化-设置滚动到选中项

    前言 列表滚动到具体的数据项? ListBox提供了简易快捷的滚动定位函数ScrollIntoView. TreeView树状结构列表,则没有此类方法,无法与ListBox一样,直接设置滚动到具体的数 ...

  10. selenium自动化测试爬取动态页面大全

    目录 一:浏览器信息测试 二:查找结点 三:测试动作 四:获取节点信息 五:切换子页面Frame 六,延时请求 七:前进和后退 八:Cookies 八:选项卡处理 九:捕获异常   这里之讲解用法,安 ...