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

最新文章

  1. centos7 docker redis
  2. Windows下的Memcache安装
  3. 我是如何社工TDbank获取朋友隐私的
  4. Haproxy ssl 配置方式
  5. QQ屠龙转世-挖矿
  6. linux专题三之如何悄悄破解root密码(以redhat7.2x64为例)
  7. Ext.Net-Grid 篇
  8. Character literal must contain exactly one character -- 一天一点小知识
  9. 《深入理解bootstrap》读书笔记:第三章 CSS布局
  10. Codeforces Beta Round #6 (Div. 2 Only)
  11. MAC中开发Unity3D
  12. 最新 Arduino 驱动 12接口/户外 LED显示屏/LED点阵屏/LED单元板
  13. 易宝网上支付平台的PHP接口代码
  14. Android listview 禁止滑动
  15. Android Log工具类
  16. 汉字转整数,比系统简单易用!a2iLxx (覆盖物 16十六进制,VC6亲测可用)请提供意见~
  17. 深入浅出数据结构C语言版(17)——希尔排序
  18. BZOJ 3544: [ONTAK2010]Creative Accounting [set]
  19. 数据库(Mongodb)
  20. git 从远程仓库获取所有分支

热门文章

  1. netmiko批量操作华为设备
  2. ubuntu18.04 安装cython_bbox
  3. HCIA-基础实验FIN-综合网络部署考核
  4. 使用ms17-010对win7进行渗透(445永恒之蓝)
  5. 南大ics-pa/PA0过程及感想
  6. 12组-Beta冲刺-5/5
  7. vue+vant打包,vue+vant-ui小程序,微信支付
  8. [3] ScanRefer论文精读 3DVisual Grounding开山之作
  9. props其他-混入mixin-插件-elementui使用-localStorage系列-vueRouter-vuex
  10. 性能测试-dstat以及sar(网络相关数据查看)