【.Net Core】通过Newtonsoft.Json将list转换为json字符串或是将json字符串转换为list
前言在很多业务场景中会遇到将json字符串转换为list或是将list转换为json字符串,下面通过一个例子来描述一下, let‘'s go!环境及组件环境:.net core组件:Newtonsoft.Json组件安装通过vs2019打开.net core项目,右击解决方案,找到“管理解决方案的Nuget程序包”在搜索框中输入Newtonsoft.Json,找到第一个并点击安装安装后会在依赖项中
前言
在很多业务场景中会遇到将json字符串转换为list或是将list转换为json字符串,下面通过一个例子来描述一下, let‘'s go!
环境及组件
环境:.net core
组件:Newtonsoft.Json
组件安装
通过vs2019打开.net core项目,右击解决方案,找到“管理解决方案的Nuget程序包”
在搜索框中输入Newtonsoft.Json,找到第一个并点击安装
安装后会在依赖项中看到
将json字符串转换为list
以下代码是从一个json文件中将json数据读出来,然后将json字符串转换为list
1、json文件中的数据
[
{
"Title": "新闻标题",
"PublishDate": null,
"PageUrl": "新闻页面url地址",
"Content": null,
"Author": null
}
]
2、实例代码
主要代码
//反序列化Json字符串内容为对象
List<Article> jsondata = JsonConvert.DeserializeObject<List<Article>>(jsonData);
下面为全部代码
//将Json转换回列表
var directorypath = Directory.GetCurrentDirectory();
string strFileName = directorypath + "\\NewsData.json";
string jsonData = GetJsonFile(strFileName);
Console.WriteLine(jsonData);
//将json字符串转换为list
List<Article> jsondata = JsonConvert.DeserializeObject<List<Article>>(jsonData);
//读取json文件中的数据并返回json字符串
//获取到本地的Json文件并且解析返回对应的json字符串
public static string GetJsonFile(string filepath)
{
string json = string.Empty;
using (FileStream fs = new FileStream(filepath, FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite, FileShare.ReadWrite))
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("GB2312")))
{
json = sr.ReadToEnd().ToString();
}
}
return json;
}
//Article类
public class Article
{
/// <summary>
/// 标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 日期
/// </summary>
public string PublishDate { get; set; }
/// <summary>
/// 文章链接
/// </summary>
public string PageUrl { get; set; }
/// <summary>
///明细
/// </summary>
public string Content { get; set; }
/// <summary>
///作者
/// </summary>
public string Author { get; set; }
}
将list转换为json字符串
以下代码是在.net core中调用web api,并且需要把获取到的list数据转换为json字符串传给web api
有关在.net core中调用web api,可参考在.net core中调用web api并将json字符串传递给post方法
主要代码:
//articles为list集合
string ListJson = JsonConvert.SerializeObject(articles);
完整代码可参考【.Net Core】在.net core中调用web api并将json字符串传递给post方法
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)