net core 序列化与反序列化与遇到的几个坑

以前在C#里面序列化直接引入命名空间后使用JavaScriptSerializer jss = new JavaScriptSerializer();就能够用,json

而net core里面不这样用了,咱们来看一看怎么使用。app


 

一、序列化与反序列化。ide

二、开发中与C#的不一样点。spa


序列化与反序列化:code

一样的,在Nuget 入Newtonsoft.Json,以下图引用:orm

 


 

使用方式以下:对象


//将实体类序列化为JSON
var jso n= Newtonsoft.Json.JsonConvert.SerializeObject(data);blog

//反序列化JSON
 T Model = Newtonsoft.Json.JsonConvert.DeserializeObject<T>(json);图片

 

开发中与C#的不一样点:ip

 一、后台接收前台的值;

 C# 后台接收:

  • 在方法的括号里面直接接收;
  • 使用Request[“指定名称”];
  • 使用获取body的方式

 net core 后台接收:

  • 在方法的括号里面直接接收;
  • 使用Request.Form[“指定名称”];
  • 使用获取body的方式

 

二、文件没有放在wwwroot文件下面

C#读写:

  • 任意位置均可以

net core读写

  • 写:任意位置均可以
  • 度:好比图片文件没在wwwroot文件下面就不能读取,若是非要读取,必须在Startup.cs进行依赖注入,以下,原来的东西不要动,在Configure方法下面的app.UseStaticFiles();下面添加以下代码
       //设置访问文件
            app.UseStaticFiles(new StaticFileOptions
            {
                //配置除了默认的wwwroot文件中的静态文件之外的文件夹  提供 Web 根目录外的文件  通过此配置之后,就能够访问upload文件下的文件
                FileProvider = new PhysicalFileProvider(
                  Path.Combine(Directory.GetCurrentDirectory(), "upload")),  //upload文件名能够任意替换
                RequestPath = "/upload",
            });

 

三、获取文件路径

C#获取文件路径:

  • System.Web.HttpContext.Current.Server.MapPath(applicationPath)

net core获取文件路径

  • 经过注入IHostingEnvironment服务对象来取得Web根目录物理路径

 


 

还有更多的坑须要填,这里就不一一列举了,感兴趣的小伙伴能够在下面评论出你踩到的坑,咱们一块儿来填一填。

相关文章
相关标签/搜索