工作中经常用到一些比较优秀的第三方库,这里收集整理了一些真实使用过的库及用法。有:Newtonsoft.Json、ReverseMarkdown、RestSharp
一、JSON字符串处理库:Newtonsoft.Json
官当网站:https://www.newtonsoft.com/json
NuGet地址:https://www.nuget.org/packages/Newtonsoft.Json/
1. 序列化
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };
string json = JsonConvert.SerializeObject(product);
// {
// "Name": "Apple",
// "Expiry": "2008-12-28T00:00:00",
// "Sizes": [
// "Small"
// ]
// }
2. 反序列化
定义类的方式:
string json = @"{
'Name': 'Bad Boys',
'ReleaseDate': '1995-4-7T00:00:00',
'Genres': [
'Action',
'Comedy'
]
}";
Movie m = JsonConvert.DeserializeObject<Movie>(json);
string name = m.Name;
// Bad Boys
不定义类的方式:
string json3 = @"{
""Name"": ""Jack"",
""Age"": 34,
""Colleagues"": [
{
""Name"": ""Tom"",
""Age"": 44
},
{
""Name"": ""Abel"",
""Age"": 29
}
]
}";
//将json转换为JObject
JObject jObj = JObject.Parse(json3);
//通过属性名或者索引来访问
JToken ageToken = jObj["Age"];
JToken ageAbelToken = jObj["Colleagues"]["Age"]; //ageAbelToken.ToString(); //29
//修改--将jack年龄修改为35
jObj4["Age"] = 35;
//针对没有的属性获取的值为null
var sss= jObj["ssss"]; //null
3. Linq 转Json
JArray 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"
// ]
// }
二、Html 转 Markdown 库:ReverseMarkdown
Html转Markdown的库,对比过几种,目前来看就 ReverseMarkdown 表现最优秀。
官网地址:https://github.com/mysticmind/reversemarkdown-net
NuGet地址:https://www.nuget.org/packages/ReverseMarkdown/
1. 基本用法:
var converter = new ReverseMarkdown.Converter();
string html = "This a sample <strong>paragraph</strong> from <a href=\"http://test.com\">my site</a>";
string result = converter.Convert(html);
//result This a sample **paragraph** from [my site](http://test.com)
// with config
bool githubFlavored = true; // generate GitHub flasvoured markdown, supported for BR, PRE and table tags
bool removeComments = true; // will ignore all comments
var config = new ReverseMarkdown.Config(UnknownTagsOption.PassThrough,
githubFlavoured:githubFlavoured, removeComments:removeComments);
var converter = new ReverseMarkdown.Converter(config);
三、简单的REST和HTTP API 客户端:RestSharp
NuGet地址:https://www.nuget.org/packages/RestSharp/
1. 基本用法
var client = new RestClient("https://www.yuque.com/api/v2/");
var request = new RestRequest(Method.GET);
request.AddHeader("x-auth-token", "xxxx9999cccc8");
IRestResponse response = client.Execute(request);
本文为原创文章,转载请注明出处!欢迎关注任前程博客 https://renqiancheng.com/,第一时间看后续精彩文章。
网友评论