欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-27 09:13:44
之前在C#里面序列化直接引入命名空间后使用JavaScriptSerializer jss = new JavaScriptSerializer();就可以用, 而net core里面不这样用了,我们来看一看怎么使用。 1、序列化与反序列化。 2、开发中与C#的不同点。 序列化与反序列化: 同样的, ......

之前在c#里面序列化直接引入命名空间后使用javascriptserializer jss = new javascriptserializer();就可以用,

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


 

1、序列化与反序列化。

2、开发中与c#的不同点。


序列化与反序列化:

同样的,在nuget 入newtonsoft.json,如下图引用:

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

 


 

使用方式如下:


//将实体类序列化为json
var jso n= newtonsoft.json.jsonconvert.serializeobject(data);

//反序列化json
 t model = newtonsoft.json.jsonconvert.deserializeobject<t>(json);



开发中与c#的不同点:

 1、后台接收前台的值;

 c# 后台接收:

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

 net core 后台接收:

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

 

2、文件没有放在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",
            });

 

3、获取文件路径

c#获取文件路径:

  • system.web.httpcontext.current.server.mappath(applicationpath)

net core获取文件路径

  • 通过注入ihostingenvironment服务对象来取得web根目录物理路径

 


 

还有更多的坑需要填,这里就不一一列举了,感兴趣的小伙伴可以在下面评论出你踩到的坑,我们一起来填一填。