原文:C# dynamic类型序列化和反序列化之Newtonsoft.Json

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011127019/article/details/76339170

一、说明

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的更多相关文章

  1. C# dynamic类型序列化和反序列化之Newtonsoft.Json,动态解析远端返回的jSON数据

    一.说明 1.Newtonsoft.Json 中的Linq To Json中提供了方便的json数据查询.修改等操作. 例如:JObject,JArray 2.在JObject.FromObject( ...

  2. ASP.NET JSON的序列化和反序列化 之 Newtonsoft.Json

    我们用到的类库为:Newtonsoft.Json,通过VS工具中NuGet程序包可以下载. 一:对象转json-序列化 public class Student { public int ID { g ...

  3. 【SpringBoot】 中时间类型 序列化、反序列化、格式处理

    [SpringBoot] 中时间类型 序列化.反序列化.格式处理 Date yml全局配置 spring: jackson: time-zone: GMT+8 date-format: yyyy-MM ...

  4. Json序列化与反序列化(对象与Json字符串的转换)--C#

    public class JsonHelper { #region Json序列化与反序列化 /// <summary> /// 将json转化为对象 /// (需要提前构造好结构一致的M ...

  5. C# 匿名类型序列化、反序列化

    前言 现在提倡前后端分离,分离后服务全部采用接口的方式给前端提供服务,当我们处理自定义查询时必定会多表查询,而处理多表查询时我们又懒的去建view model,建的过多项目也凌乱的很,所以在dao层处 ...

  6. 解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json

    1..Net开源Json序列化工具Newtonsoft.Json中提供了解决序列化的循环引用问题: 方式1:指定Json序列化配置为 ReferenceLoopHandling.Ignore 方式2: ...

  7. C# 序列化与反序列化Serialization之Json Xml Binary Soap JavaScript序列化

    所谓的序列化其实就是把一个内存中的对象信息转化成一个可以持久化保存的形式,方便保存数据库和文件或着用于传输, 序列化的主要作用是不同平台之间进行通信与信息的传递保存等,常用的有序列化有Json Xml ...

  8. HTML基础之JS中的序列化和反序列化-----字符串的json类型与字典之间的相互转换

    前端向后端传递数据的时候不能直接传递对象(如,字典),只能发字符串,Jason就是一种字符串所以前端向后端发送数据的时候,需要将对象转换成字符串 如果前端向后端发送的是json类型,需要通过JSON. ...

  9. Json的反序列化 .net Newtonsoft.Json

    项目中有个.json文件. { "instances": [ { "name": "baidu", "url": &qu ...

随机推荐

  1. 使用vue的extend自定义组件开发

    index.js import Vue from 'vue' import tip from './tip.vue' const Constructor = Vue.extend(tip); cons ...

  2. HDU 1709 The Balance( DP )

    The Balance Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  3. 2018-2-13-win10-uwp-HttpClient-post错误

    title author date CreateTime categories win10 uwp HttpClient post错误 lindexi 2018-2-13 17:23:3 +0800 ...

  4. getopts的错误报告模式

  5. go语言从例子开始之Example27.超时处理

    超时 对于一个连接外部资源,或者其它一些需要花费执行时间的操作的程序而言是很重要的.得益于通道和 select,在 Go中实现超时操作是简洁而优雅的. Example: package main im ...

  6. OAuth_1

    OAuth2.0是一个应用之间彼此访问数据的开源授权协议.比如,一个游戏应用可以 访问Facebook的用户数据.用户访问web游戏应用,该游戏应用要求用户通过Facebook 登录.用户登录到Fac ...

  7. word--->pdf资料转载..

    https://blog.csdn.net/dsn727455218/article/details/80667927

  8. Spring data jpa 依赖配置

    <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> &l ...

  9. uORBMain.cpp学习

    uorb_main int uorb_main(int argc, char *argv[]) { if (argc < 2) { usage();                        ...

  10. (转)Spring Boot干货系列:(四)开发Web应用之Thymeleaf篇

    转:http://tengj.top/2017/03/13/springboot4/ 前言 Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boot对Web开发的支持. 正文 Sp ...