C#中Newtonsoft.Json.dll 的使用
1.类库说明
Newtonsoft.Json.dll是.NET 下开源的json格式序列号和反序列化的类库,利用此类库,可以方便地操作json数据,其中在反序列化时,可以直接将格式化的json数据处理成预定义的实体类,也可以生成对应的匿名类
2.环境配置
1通过NuGet程序包直接配置
在对应项目的引用选项上右键,在弹出菜单中选择”管理NuGet程序包”,在搜索框中搜索json,找到Newtonsoft.Json,等待安装完毕
3.直接引用dll
直接在项目中引用Newtonsoft.Json.dll即可
4.json序列化
1).预定义实体类
- /// <summary>
- /// 用于测试的预定义实体类
- /// </summary>
- class JsonTest
- {
- /// <summary>
- /// 初始化
- /// </summary>
- public void Init()
- {
- JsonTest test = new JsonTest();
- test.Id = "2017";
- test.Name = "测试数据";
- test.Data = new List<string>() { "1", "2", "3", "4", "5" };
- }
- List<String> _Data = new List<string>();
- public List<String> Data
- {
- get { return _Data; }
- set { _Data = value; }
- }
- String _Name = String.Empty;
- public String Name
- {
- get { return _Name; }
- set { _Name = value; }
- }
- String _Id = String.Empty;
- public String Id
- {
- get { return _Id; }
- set { _Id = value; }
- }
- }
2).序列化自定义实体类的对象
- static void Main(string[] args)
- {
- SerializeTest();
- Console.ReadLine();
- }
- public static void SerializeTest()
- {
- JsonTest test = new JsonTest();
- test.Init();
- String json = JsonConvert.SerializeObject(test,Formatting.Indented);
- Console.WriteLine(json);
- }
例子中使用了JsonConvert.SerializeObject的一个重载方法 Formatting是一个枚举类型,表示是否将json数据格式化,运行效果如下
5.反序列化
1).反序列化为预定义实体类
- static void Main(string[] args)
- {
- DeSerializeTest();
- Console.ReadLine();
- }
- public static void DeSerializeTest()
- {
- String jsonstr = "{\"Id\":\"2017\",\"Name\":\"测试数据\",\"Data\":[\"1\",\"2\",\"3\",\"4\",\"5\"]}";
- var test = JsonConvert.DeserializeObject<JsonTest>(jsonstr);
- String str = "Id:{0}\nName:{1}\nData:{2}";
- Console.WriteLine(str, test.Id, test.Name, String.Join(",", test.Data));
- }
运行结果
该文章转载于:CSDN-Cubeeeeee
C#中Newtonsoft.Json.dll 的使用的更多相关文章
- .Net使用Newtonsoft.Json.dll(JSON.NET)对象序列化成json、反序列化json示例教程
JSON作为一种轻量级的数据交换格式,简单灵活,被很多系统用来数据交互,作为一名.NET开发人员,JSON.NET无疑是最好的序列化框架,支持XML和JSON序列化,高性能,免费开源,支持LINQ查询 ...
- 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)
在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...
- Newtonsoft.Json.dll 反序列化JSON字符串
上一篇JSON博客<JSON入门级学习小结--JSON数据结构>中已对JSON做了简单介绍,JSON字符串数组数据样式大概是这样子的: 如今因为项目需求(asp.net web网站,前台向 ...
- DataTable转Json字符串(使用Newtonsoft.Json.dll)
DataTable转Json字符串(使用Newtonsoft.Json.dll) 在需要把DataTable转为Json字符串时,自己手动拼接太麻烦,而且容易出错,费时费力,使用Newtonsoft. ...
- FineUI中Newtonsoft.Json版本报错解决办法
1.清空bin下的Newtonsoft.Json.dll 2.使用Nuget安装最新版本的Newtonsoft.Json.dll,安装脚本为 Install-Package Newtonsoft.Js ...
- WCF JSON DATETIME JSON.NET (Newtonsoft.Json.dll)
[DataMember] public DateTime? myTime { get; set; } var timeFormat = new JsonSerializerSettings() { D ...
- C# 使用Newtonsoft.Json.dll 格式化显示Json串
private string ConvertJsonString(string str) { //格式化json字符串 JsonSerializer serializer = new JsonSeri ...
- Newtonsoft.Json.dll
代码 using System; DoNet2.0 需要借助于Newtonsoft.Json.dll using System.IO; using System.Text; using Newtons ...
- Newtonsoft.Json.dll使用
1:Newtonsoft.Json.dll 下载 http://json.codeplex.com/ 2:解析JSON字符窜 方法1: using Newtonsoft.Json; using Sy ...
- C#应用Newtonsoft.Json.dll,控制json的时间格式
原文:C#应用Newtonsoft.Json.dll,控制json的时间格式 var aIsoDateTimeConverter = new IsoDateTimeConverter();aIsoDa ...
随机推荐
- 重启nginx 报错 nginx.pid
先检查 nginx -c /etc/nginx/nginx.conf 看看端口是否被占用 若占用杀掉 ps -ef | grep nginx kill --- 然后再用nginx -c /etc/ng ...
- docker部署opengauss
下载二进制包到/opt/software/ wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/x86/openGauss-1. ...
- 搭建Redis高可用集群的哨兵模式(Redis-Sentinel)【Windows环境】
参考 https://blog.csdn.net/itanping/article/details/100544152 哨兵模式搭建好,Java中配置和使用Redis高可用集群的哨兵模式,引入Jedi ...
- [1] Multi-View Transformer for 3D Visual Grounding 论文精读
参考: https://zhuanlan.zhihu.com/p/467913475 3D Visual Grounding小白调研笔记 https://zhuanlan.zhihu.com/p/34 ...
- python 的多线程
创建一个多线程 from threading import Thread, ThreadError import time def task_01(): print("开始发送邮件" ...
- gcc 中weak弱函数
1.weak弱函数 weak 函数用于定义变量或者函数.弱函数一般用于多个模块间的交互接口 int __attribute__((weak)) test_lib_a(int a, int b) { p ...
- 【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 ...
- pip3 install
python3 -m venv tutorial-env source tutorial-env/bin/activatepip3 install *deactivate
- 实现ViewPager一次滑动多页(保持居中)
项目中开发日历功能,需求是可以连续滑动多页,有列表的流畅.又要保持当前页居中显示. 参考文献: http://www.open-open.com/lib/view/open1435026935638 ...
- docker tomcat 环境构建
docker build -t repos_local/centos-jdk7-tomcat7:0.0.1 . -t 设置tag名称, 命名规则registry/image:tag . 表示使用当前目 ...