【.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

以下代码是从一个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方法

 

 

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一起来学吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值