net core 序列化與反序列化與遇到的幾個坑


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

 


 

還有更多的坑需要填,這里就不一一列舉了,感興趣的小伙伴可以在下面評論出你踩到的坑,我們一起來填一填。

 

歡迎關注訂閱我的微信公眾平台【熊澤有話說】,更多好玩易學知識等你來取
作者:熊澤-學習中的苦與樂
公眾號:熊澤有話說
出處:https://www.cnblogs.com/xiongze520/p/11248756.html
創作不易,任何人或團體、機構全部轉載或者部分轉載、摘錄,請在文章明顯位置注明作者和原文鏈接。  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM