net core 序列化與反序列化與遇到的幾個坑
阿新 • • 發佈:2019-07-26
之前在C#裡面序列化直接引入名稱空間後使用JavaScriptSerializer jss = new JavaScriptSerializer();就可以用,
而net core裡面不這樣用了,我們來看一看怎麼使用。
1、序列化與反序列化。
2、開發中與C#的不同點。
序列化與反序列化:
同樣的,在Nuget 入Newtonsoft.Json,如下圖引用:
使用方式如下:
//將實體類序列化為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根目錄物理路徑
還有更多的坑需要填,這裡就不一一列舉了,感興趣的小夥伴可以在下面評論出你踩到的坑,我們一起來填一填。
&n