1.类库说明
Newtonsoft.Json.dll是.NET 下开源的json格式序列号和反序列化的类库,利用此类库,可以方便地操作json数据,其中在反序列化时,可以直接将格式化的json数据处理成预定义的实体类,也可以生成对应的匿名类

2.环境配置
1通过NuGet程序包直接配置
在对应项目的引用选项上右键,在弹出菜单中选择”管理NuGet程序包”,在搜索框中搜索json,找到Newtonsoft.Json,等待安装完毕

3.直接引用dll
直接在项目中引用Newtonsoft.Json.dll即可
4.json序列化
1).预定义实体类

  1. /// <summary>
  2. /// 用于测试的预定义实体类
  3. /// </summary>
  4. class JsonTest
  5. {
  6. /// <summary>
  7. /// 初始化
  8. /// </summary>
  9. public void Init()
  10. {
  11. JsonTest test = new JsonTest();
  12. test.Id = "2017";
  13. test.Name = "测试数据";
  14. test.Data = new List<string>() { "1", "2", "3", "4", "5" };
  15. }
  16.  
  17. List<String> _Data = new List<string>();
  18.  
  19. public List<String> Data
  20. {
  21. get { return _Data; }
  22. set { _Data = value; }
  23. }
  24.  
  25. String _Name = String.Empty;
  26.  
  27. public String Name
  28. {
  29. get { return _Name; }
  30. set { _Name = value; }
  31. }
  32.  
  33. String _Id = String.Empty;
  34.  
  35. public String Id
  36. {
  37. get { return _Id; }
  38. set { _Id = value; }
  39. }
  40. }

2).序列化自定义实体类的对象

  1. static void Main(string[] args)
  2. {
  3. SerializeTest();
  4. Console.ReadLine();
  5. }
  6.  
  7. public static void SerializeTest()
  8. {
  9. JsonTest test = new JsonTest();
  10. test.Init();
  11. String json = JsonConvert.SerializeObject(test,Formatting.Indented);
  12.  
  13. Console.WriteLine(json);
  14. }

例子中使用了JsonConvert.SerializeObject的一个重载方法 Formatting是一个枚举类型,表示是否将json数据格式化,运行效果如下

5.反序列化

1).反序列化为预定义实体类

  1. static void Main(string[] args)
  2. {
  3. DeSerializeTest();
  4. Console.ReadLine();
  5. }
  6.  
  7. public static void DeSerializeTest()
  8. {
  9. String jsonstr = "{\"Id\":\"2017\",\"Name\":\"测试数据\",\"Data\":[\"1\",\"2\",\"3\",\"4\",\"5\"]}";
  10. var test = JsonConvert.DeserializeObject<JsonTest>(jsonstr);
  11. String str = "Id:{0}\nName:{1}\nData:{2}";
  12.  
  13. Console.WriteLine(str, test.Id, test.Name, String.Join(",", test.Data));
  14. }

运行结果

该文章转载于:CSDN-Cubeeeeee

C#中Newtonsoft.Json.dll 的使用的更多相关文章

  1. .Net使用Newtonsoft.Json.dll(JSON.NET)对象序列化成json、反序列化json示例教程

    JSON作为一种轻量级的数据交换格式,简单灵活,被很多系统用来数据交互,作为一名.NET开发人员,JSON.NET无疑是最好的序列化框架,支持XML和JSON序列化,高性能,免费开源,支持LINQ查询 ...

  2. 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)

    在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...

  3. Newtonsoft.Json.dll 反序列化JSON字符串

    上一篇JSON博客<JSON入门级学习小结--JSON数据结构>中已对JSON做了简单介绍,JSON字符串数组数据样式大概是这样子的: 如今因为项目需求(asp.net web网站,前台向 ...

  4. DataTable转Json字符串(使用Newtonsoft.Json.dll)

    DataTable转Json字符串(使用Newtonsoft.Json.dll) 在需要把DataTable转为Json字符串时,自己手动拼接太麻烦,而且容易出错,费时费力,使用Newtonsoft. ...

  5. FineUI中Newtonsoft.Json版本报错解决办法

    1.清空bin下的Newtonsoft.Json.dll 2.使用Nuget安装最新版本的Newtonsoft.Json.dll,安装脚本为 Install-Package Newtonsoft.Js ...

  6. WCF JSON DATETIME JSON.NET (Newtonsoft.Json.dll)

    [DataMember] public DateTime? myTime { get; set; } var timeFormat = new JsonSerializerSettings() { D ...

  7. C# 使用Newtonsoft.Json.dll 格式化显示Json串

    private string ConvertJsonString(string str) { //格式化json字符串 JsonSerializer serializer = new JsonSeri ...

  8. Newtonsoft.Json.dll

    代码 using System; DoNet2.0 需要借助于Newtonsoft.Json.dll using System.IO; using System.Text; using Newtons ...

  9. Newtonsoft.Json.dll使用

    1:Newtonsoft.Json.dll 下载  http://json.codeplex.com/ 2:解析JSON字符窜 方法1: using Newtonsoft.Json; using Sy ...

  10. C#应用Newtonsoft.Json.dll,控制json的时间格式

    原文:C#应用Newtonsoft.Json.dll,控制json的时间格式 var aIsoDateTimeConverter = new IsoDateTimeConverter();aIsoDa ...

随机推荐

  1. 重启nginx 报错 nginx.pid

    先检查 nginx -c /etc/nginx/nginx.conf 看看端口是否被占用 若占用杀掉 ps -ef | grep nginx kill --- 然后再用nginx -c /etc/ng ...

  2. docker部署opengauss

    下载二进制包到/opt/software/ wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/x86/openGauss-1. ...

  3. 搭建Redis高可用集群的哨兵模式(Redis-Sentinel)【Windows环境】

    参考 https://blog.csdn.net/itanping/article/details/100544152 哨兵模式搭建好,Java中配置和使用Redis高可用集群的哨兵模式,引入Jedi ...

  4. [1] Multi-View Transformer for 3D Visual Grounding 论文精读

    参考: https://zhuanlan.zhihu.com/p/467913475 3D Visual Grounding小白调研笔记 https://zhuanlan.zhihu.com/p/34 ...

  5. python 的多线程

    创建一个多线程 from threading import Thread, ThreadError import time def task_01(): print("开始发送邮件" ...

  6. gcc 中weak弱函数

    1.weak弱函数 weak 函数用于定义变量或者函数.弱函数一般用于多个模块间的交互接口 int __attribute__((weak)) test_lib_a(int a, int b) { p ...

  7. 【git】2.4 撤销操作

    资料来源 (1) https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%92%A4%E6%B6%88%E6%93%8D%E4%BD%9C ...

  8. pip3 install

    python3 -m venv tutorial-env source tutorial-env/bin/activatepip3 install *deactivate 

  9. 实现ViewPager一次滑动多页(保持居中)

    项目中开发日历功能,需求是可以连续滑动多页,有列表的流畅.又要保持当前页居中显示. 参考文献:  http://www.open-open.com/lib/view/open1435026935638 ...

  10. docker tomcat 环境构建

    docker build -t repos_local/centos-jdk7-tomcat7:0.0.1 . -t 设置tag名称, 命名规则registry/image:tag . 表示使用当前目 ...