二:C#对象、集合、DataTable与Json内容互转示例;
导航目录:
一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型;
二:C#对象、集合、DataTable与Json内容互转示例;
这个过程没有什么需要说的,撸个简单一点的代码说明下:先定义一个人员类,这个类里面的属性有string,int,list,枚举,这几个差不多够了。
public class people
{
public string Name { get; set; }
public int Age { get; set; }
public DateTime Birthday { get; set; }
public EnumGender Gender { get; set; }
public List<string> hobby{ get; set; }
}
public enum EnumGender
{
woman,
male
}
【这部分代码此系列的其它几个示例中都会用到】
- C# 对象转Json 示例:
PeopleInfo p = new PeopleInfo();
p.Name = "李家村的二狗子";
p.Age = ;
p.Birthday = DateTime.Now;
p.Gender = EnumGender.male;
p.Hobby = new List<string> { "写Bug", "钓鱼", "看新闻联播" }; string json = JsonConvert.SerializeObject(p);
this.txtResult.Text = json;
序列化后的Json内容:

- Json 转C# 对象 示例:
string json = "{\"Name\":\"李家村的二狗子\",\"Age\":30,\"Birthday\":\"2019-01-12T17:55:39.8176013+08:00\",\"Gender\":1,\"Hobby\":[\"写Bug\",\"钓鱼\",\"看新闻联播\"]}";
PeopleInfo info = JsonConvert.DeserializeObject<PeopleInfo>(json);
this.txtResult.Text = "名称:" + info.Name;

- List集合转Json示例:
private void btnJsonDemo_Click(object sender, EventArgs e)
{
List<PeopleInfo> list = new List<PeopleInfo>(); PeopleInfo p = new PeopleInfo();
p.Name = "张三";
p.Age = ;
p.Birthday = DateTime.Now;
p.Gender = EnumGender.male;
p.Hobby = new List<string> { "写Bug", "钓鱼", "看新闻联播" }; PeopleInfo p1 = new PeopleInfo();
p1.Name = "李四";
p1.Age = ;
p1.Birthday = DateTime.Now;
p1.Gender = EnumGender.male;
p1.Hobby = new List<string> { "读书", "写字", "打游戏" }; list.Add(p);
list.Add(p1); string json = JsonConvert.SerializeObject(list);
this.txtResult.Text = json;
}
转换后的结果:

- Json 转键值对 示例:
string json = @“{” “key1” “:” “value1” “,” “key2” “:” “value2” “}” ;
Dictionary < string,string > values = JsonConvert.DeserializeObject <Dictionary < string,string >>(json);
拓展需求:C# 中对象转键值对的方式有很多种,Json转键值对直接通过反序列化就可以了,所以,曲线救国一下,可以先将对象转成Json,然后在将Json转换为键值对:
【如果通过这种方式对象-Json-键值对 来实现对象键值对的转换,如果对象中有list集合属性,就会导致转换错误,目前这个问题我还没有解决,等解决了在来补充解决方法,颜色标记红色提醒下我自己】
- DataTable转Json 示例:
代码就不写了,方法一样,就是把DataTable传入至 JsonConvert.SerializeObject(DataTable tb) 中就可以了。
二:C#对象、集合、DataTable与Json内容互转示例;的更多相关文章
- C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。
C#中对象,字符串,dataTable.DataReader.DataSet,对象集合转换成Json字符串方法. public class ConvertJson { #region 私有方法 /// ...
- JSon_零基础_005_将po(bean)对象集合List转换为JSon格式的对象字符串,返回给界面
将po(bean)对象集合List转换为JSon格式的对象字符串,返回给界面 导入jar包: 编写:po(bean)代码: package com.west.webcourse.po; /** * 第 ...
- DataTable 和Json 字符串互转
#region DataTable 转换为Json字符串实例方法 /// <summary> /// GetClassTypeJosn 的摘要说明 /// </summary> ...
- 使用FastJSON,将对象或数组和JSON串互转
Fastjson,是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库.其开源的下载网址为:https://github.com/AlibabaTech/fastjson. 示例代码如下: ...
- C#中把Datatable转换为Json的5个代码实例
一. /// <summary> /// Datatable转换为Json /// </summary> /// <param name="table" ...
- [C#]Datatable和json互相转换操作
#region DataTable 转换为Json字符串实例方法 /// <summary> /// GetClassTypeJosn 的摘要说明 /// </summary> ...
- DataTable和Json的相互转换
1 #region DataTable 转换为Json字符串实例方法 2 /// <summary> 3 /// GetClassTypeJosn 的摘要说明 4 /// </sum ...
- [Android学习]Activity之间传递对象和对象集合
开发过程中,Activity之间传递数据是必不可少的,android中使用Intent和Bundle作为数据载体,在Activity之间传递,对于基础数据类型,Bundle已经提供相关的put,get ...
- Datatable转换为Json 然后,Json数据导入 js 档
C#在里面Datatable转换为Json的5代码示例 /// <summary> /// Datatable转换为Json /// </summary> /// <pa ...
随机推荐
- Linux Namespace : 简介
在初步的了解 docker 后,笔者期望通过理解 docker 背后的技术原理来深入的学习和使用 docker,接下来的几篇文章简单的介绍下 linux namespace 的概念以及基本用法. na ...
- win2016 配置IIS 和mysql5.7 迁移数据表的两个小坑
今天配置一整天,就IIS都装了一整天,都是没办法安装.net3.5的问题. 最后解决办法:https://help.aliyun.com/knowledge_detail/38203.html?spm ...
- kafka环境搭建和使用(python API)
引言 上一篇文章了解了kafka的重要组件zookeeper,用来保存broker.consumer等相关信息,做到平滑扩展.这篇文章就实际操作部署下kafka,用几个简单的例子加深对kafka的理解 ...
- iOS Keychain,SSKeychain,使用 理解 原理
https://www.cnblogs.com/m4abcd/p/5242254.html Keychain 使用? ---为了实用最大化我觉得我应该直接先说使用! 当然是使用第三方库啦:sskeyc ...
- socket流程
- Ajax中文乱码的解决
网上有很多解决Ajax中文乱码的例子,昨晚弄了很久,最终确定一种“确实”有效地方法.首先我有必要说明一下我遇到的情况:有一个注册页面,注册用户填完信息并提交后,页面获得信息并通过java servle ...
- semantic-ui 模态窗口
模态窗口即加了ui modal的class的div而已,会有点像是alert弹出框的形式,但是美观一点点.
- babel(一)
一.babel npm babel src/index.js -d lib 二.@babel/core @babel/cli @babel/core 转换语法核心 @babel/cli 执行 ...
- oracle一些单记录函数
单记录函数 1.0 NVL() 作用:从两个表达式返回一个非NULL值 用法:NVL(表达式1, 表达式2) 如果表达式1的结果不为NULL,返回表达式1的结果:如果表达式1的结果为NULL,返回表达 ...
- Oracle通过ROWID删除表中重复记录
-- 1 通过ROWID删除T1表里重复的记录 SELECT ROWID,A,B--DELETE FROM T1WHERE ROWID IN ( SELECT RD FROM ( ...