一、說明
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實例(二)
