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根目錄物理路徑

 


 

還有更多的坑須要填,這裏就不一一列舉了,感興趣的小夥伴能夠在下面評論出你踩到的坑,咱們一塊兒來填一填。

相關文章
相關標籤/搜索