C# dynamic类型序列化和反序列化之Newtonsoft.Json,动态解析远端返回的jSON数据
一、说明
1.Newtonsoft.Json 中的Linq To Json中提供了方便的json数据查询、修改等操作。
例如:JObject,JArray
2.在JObject.FromObject()或JArray.FromObject()中也提供了对dynamic类型的支持。
二、dynamic转json字符串处理
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
1.使用JObject对象
- dynamic obj = new JObject();
- obj.name = "张三丰";
- obj.age = 10;
- obj.birthday = DateTime.Now;
- Console.WriteLine(obj.ToString());
输出结果:
- {
- "name": "张三丰",
- "age": 10,
- "birthday": "2017-07-29T16:39:47.4549601+08:00"
- }
2.使用JObject.FromObject()
- dynamic obj = new System.Dynamic.ExpandoObject();
- obj.name = "张三丰";
- obj.age = 10;
- obj.birthday = DateTime.Now;
- string result = JObject.FromObject(obj).ToString();
- Console.WriteLine(result);
输出结果:同上
三、将json字符串发序列化为dynamic类型
- string json = @"
- {
- 'Title': 'Json.NET is awesome!',
- 'Author': {
- 'Name': 'James Newton-King',
- 'Twitter': '@JamesNK',
- 'Picture': '/jamesnk.png'
- },
- 'Date': '2013-01-23T19:30:00',
- 'BodyHtml': '<h3>Title!</h3>\r\n<p>Content!</p>'
- }
- ";
- dynamic blogPost = JObject.Parse(json);
- string title = blogPost.Title;
- Console.WriteLine(title); //输出:Json.NET is awesome!
- Console.WriteLine(blogPost.Date); //输出:2013/1/ 23 19:30:00
官方示例:
Querying JSON with dynamicCreate
JSON with dynamic
更多:
C# Newtonsoft.Json JsonSerializerSettings配置序列化操作
C#Json序列化、反序列化之Dictionary 字典类型
C# Newtonsoft.Json之LINQ To Json实例(二)
C# dynamic类型序列化和反序列化之Newtonsoft.Json,动态解析远端返回的jSON数据的更多相关文章
- C# dynamic类型序列化和反序列化之Newtonsoft.Json
原文:C# dynamic类型序列化和反序列化之Newtonsoft.Json 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011127019/ ...
- 【SpringBoot】 中时间类型 序列化、反序列化、格式处理
[SpringBoot] 中时间类型 序列化.反序列化.格式处理 Date yml全局配置 spring: jackson: time-zone: GMT+8 date-format: yyyy-MM ...
- C# 匿名类型序列化、反序列化
前言 现在提倡前后端分离,分离后服务全部采用接口的方式给前端提供服务,当我们处理自定义查询时必定会多表查询,而处理多表查询时我们又懒的去建view model,建的过多项目也凌乱的很,所以在dao层处 ...
- ASP.NET JSON的序列化和反序列化 之 Newtonsoft.Json
我们用到的类库为:Newtonsoft.Json,通过VS工具中NuGet程序包可以下载. 一:对象转json-序列化 public class Student { public int ID { g ...
- Newtonsoft.Json 动态解析 json字符串
有一个json字符串是动态的,如下面,columns中的数量是不固定的,因此就不能使用反序列化类的方法了: 因此使用这样一种方式,把columns中的所有东西都输出出来: public void Ge ...
- ASP.NET中JSON的序列化和反序列化(转)
JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...
- Python实现JSON序列化和反序列化
在我的应用中,序列化就是把类转成符合JSON格式的字符串,反序列化就是把JSON格式的字符串转换成类.C#的话直接用Newtonsoft.JSON就可以了,非常好用.本来以为python也会有类似的库 ...
- Asp.net中Json的序列化和反序列化(二)
三.JSON序列化和反序列化日期时间的处理 JSON格式不直接支持日期和时间.DateTime值值显示为“/Date(700000+0500)/”形式的JSON字符串,其中第一个数字(在提供的示例中 ...
- 重新想象 Windows 8 Store Apps (60) - 通信: 获取网络信息, 序列化和反序列化
[源码下载] 重新想象 Windows 8 Store Apps (60) - 通信: 获取网络信息, 序列化和反序列化 作者:webabcd 介绍重新想象 Windows 8 Store Apps ...
随机推荐
- SQL SERVER 查询所有数据表名称和数据行数
SELECT a.name, b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE ( a.type ...
- ubuntu安装nginx pagespeed
一.自动安装 使用最新稳定版本的ngx_pagespeed自动安装依赖项并构建最新的主线版nginx,请运行: $ sudo bash <(curl -f -L -sS https://ngxp ...
- Matlab安装完成后,出现错误licensing error:-8523的解决方法
Matlab2018安装成功后,打开出现licensing error:-8523解决方法 https://blog.csdn.net/qq_41634276/article/details/8000 ...
- windows类似grep的命令——findstr
windows类似grep的命令——findstr 使用Chrome发现访问google总是向香港那边跳转,估计配置文件中google网站映射的地址是www.google.com.hk,便想着改配 ...
- python计算素数和
计算输入两个正整数x,y(x<=y,包括x,y)素数和.函数isPrime用以判断一个数是否素数,primeSum函数返回素数和 以下为源码 def isPrime(n) : for i ...
- 关于NPOI导入的时候有时出现乱码解决办法
手上这个项目之前客户说过导入的时候回出现乱码问题,一直没用重视,现在自己做做一个功能,乱码经常出现,开始以为是代码的问题,最后百度了试了很多方法猜找到解决办法: 乱码页面如下: 解决办法: 打开IIS ...
- FCN网络
https://www.cnblogs.com/gujianhan/p/6030639.html
- 使用antd Table + mobx 处理数组 出现的一系列问题
在store中定义了一个数组: @observable list = [...] 若是在table组件中直接使用list: <Table className={styles.table} col ...
- git下载/上传文件提示:git did not exit cleanly
问题:git操作下载/上传文件,提示信息如下 TortoiseGit-git did not exit cleanly (exit code 1) TortoiseGit-git did not ex ...
- JDK开发环境配置
1. 新建 -> 变量名“JAVA_HOME”, 变量值“C:\Program Files\Java\jdk1.8.0_112”(即JDK的安装路径) 2. 编辑 -> 变量名“Path” ...