教育 网站模板,页面设计的像胶囊怎么形容,c 教学网站开发,做棋牌游戏网站赚钱吗在日常编程中经常会使用到Json来进行数据的交互好在.Net平台下有很多开源的Json库使得我们能够比较轻松快速的处理各种复杂的Json#xff0c;其中Newtonsoft库是NET的流行高性能JSON框架特性工具VS2010Newtonsoft库从NuGet下载合适的Newtonsoft.Json库1.在你需要引用Newtosoft… 在日常编程中经常会使用到Json来进行数据的交互好在.Net平台下有很多开源的Json库使得我们能够比较轻松快速的处理各种复杂的Json其中Newtonsoft库是NET的流行高性能JSON框架特性工具VS2010Newtonsoft库从NuGet下载合适的Newtonsoft.Json库1.在你需要引用Newtosoft.Json的项目上点击鼠标右键管理Nuget程序包即可打开项目包管理器。2.在包管理器中输入关键字Json看到Newtosoft.Json这个库 点击右下加的箭头即可完成安装。示例1、序列化JSON-序列化和反序列化JSON序列化程序设置和序列化属性public class Account
{public string Email { get; set; }public bool Active { get; set; }public DateTime CreatedDate { get; set; }public IListstring Roles { get; set; }
}
Account account new Account
{Email jamesexample.com,Active true,CreatedDate new DateTime(2013, 1, 20, 0, 0, 0, DateTimeKind.Utc),Roles new Liststring{User,Admin}
};string json JsonConvert.SerializeObject(account, Formatting.Indented);
// {
// Email: jamesexample.com,
// Active: true,
// CreatedDate: 2013-01-20T00:00:00Z,
// Roles: [
// User,
// Admin
// ]
// }Console.WriteLine(json);
2、LINQ to JSON-解析查询修改和编写JSONJArray array new JArray();
array.Add(Manual text);
array.Add(new DateTime(2000, 5, 23));JObject o new JObject();
o[MyArray] array;string json o.ToString();
// {
// MyArray: [
// Manual text,
// 2000-05-23T00:00:00
// ]
// }
3、JSON模式-加载模式并验证JSON。请注意JSON Schema验证已移至其自己的程序包。有关 更多详细信息请参见https://www.newtonsoft.com/jsonschema。JObject o JObject.Parse({Stores: [Lambton Quay,Willis Street],Manufacturers: [{Name: Acme Co,Products: [{Name: Anvil,Price: 50}]},{Name: Contoso,Products: [{Name: Elbow Grease,Price: 99.95},{Name: Headlight Fluid,Price: 4}]}]
});string name (string)o.SelectToken(Manufacturers[0].Name);Console.WriteLine(name);
// Acme Codecimal productPrice (decimal)o.SelectToken(Manufacturers[0].Products[0].Price);Console.WriteLine(productPrice);
// 50string productName (string)o.SelectToken(Manufacturers[1].Products[0].Name);Console.WriteLine(productName);
// Elbow Grease
4、转换XML-将JSON转换为XML和XML转换为JSONstring json {Id: 1,Email: jamesexample.com,Active: true,CreatedDate: 2013-01-20T00:00:00Z,Roles: [User,Admin],Team: {Id: 2,Name: Software Developers,Description: Creators of fine software products and services.}
};XNode node JsonConvert.DeserializeXNode(json, Root);Console.WriteLine(node.ToString());
// Root Id1
// Emailjamesexample.com/Email
// Activetrue/Active
// CreatedDate2013-01-20T00:00:00Z/CreatedDate
// RolesUser/Roles
// RolesAdmin/Roles
// Team Id2
// NameSoftware Developers/Name
// DescriptionCreators of fine software products and services./Description
// /Team
// /Root
5、BSON-序列化和反序列化BSONpublic class Event
{public string Name { get; set; }public DateTime StartDate { get; set; }
}
Event e new Event
{Name Movie Premiere,StartDate new DateTime(2013, 1, 22, 20, 30, 0, DateTimeKind.Utc)
};MemoryStream ms new MemoryStream();
using (BsonWriter writer new BsonWriter(ms))
{JsonSerializer serializer new JsonSerializer();serializer.Serialize(writer, e);
}string data Convert.ToBase64String(ms.ToArray());Console.WriteLine(data);
// MQAAAAJOYW1lAA8AAABNb3ZpZSBQcmVtaWVyZQAJU3RhcnREYXRlAED982M8AQAAAA
6、读取和写入JSON-使用JsonTextReader读取JSON使用JsonTextWriter写入JSONstring json {CPU: Intel,PSU: 500W,Drives: [DVD read/writer/*(broken)*/,500 gigabyte hard drive,200 gigabyte hard drive]
};JsonTextReader reader new JsonTextReader(new StringReader(json));
while (reader.Read())
{if (reader.Value ! null){Console.WriteLine(Token: {0}, Value: {1}, reader.TokenType, reader.Value);}else{Console.WriteLine(Token: {0}, reader.TokenType);}
}// Token: StartObject
// Token: PropertyName, Value: CPU
// Token: String, Value: Intel
// Token: PropertyName, Value: PSU
// Token: String, Value: 500W
// Token: PropertyName, Value: Drives
// Token: StartArray
// Token: String, Value: DVD read/writer
// Token: Comment, Value: (broken)
// Token: String, Value: 500 gigabyte hard drive
// Token: String, Value: 200 gigabyte hard drive
// Token: EndArray
// Token: EndObject
更多功能见https://github.com/JamesNK/Newtonsoft.Json