ASP.NET Core Json序列化默認(rèn)格式問題

這個(gè)問題是在某個(gè).net framework項(xiàng)目遷移至netcore時(shí)遇到的,現(xiàn)象就是在向前端傳遞數(shù)據(jù)的時(shí)候仆潮,前端出現(xiàn)了大量屬性u(píng)ndefined铃在,也就是說這些屬性并沒有獲取到值。

在原項(xiàng)目中拇泣,前端解析時(shí)使用了與model一樣的屬性名稱,正常來說應(yīng)該是沒有問題的矮锈。

經(jīng)過測試霉翔,我們發(fā)現(xiàn)前端收到的數(shù)據(jù)中,屬性名稱發(fā)生了改變苞笨,名稱不對(duì)應(yīng)導(dǎo)致了無法獲取值和對(duì)象债朵,也就會(huì)出現(xiàn)undefined這種值。那么剩下的問題就是為什么這個(gè)名稱會(huì)改變瀑凝,以及能否讓他保持不變序芦。

網(wǎng)上摸了下,發(fā)現(xiàn)這問題也被很多人吐槽過了粤咪,如:https://github.com/aspnet/Mvc/issues/4842

可以看到谚中,netcore的序列化會(huì)把名稱默認(rèn)轉(zhuǎn)化成camelCase格式,即屬性名稱發(fā)生了改變寥枝。

https://dotnetcoretutorials.com/2017/01/02/pascalcase-vs-camelcase-asp-net-core/

從上面這篇文章也可以看到宪塔,該默認(rèn)格式出現(xiàn)在netcore1.0版本。

因此除了通過更改前端屬性名稱來解決問題外囊拜,上面的鏈接中也給出了保持原樣的解決辦法某筐,稍作設(shè)置即可:

services.AddMvc().AddJsonOptions(x =>
{
x.SerializerSettings.ContractResolver = new DefaultContractResolver
{
NamingStrategy = new CamelCaseNamingStrategy
{
ProcessDictionaryKeys = false // this is the default.
}
};
});

這串設(shè)置是鏈接提供的方法,但是復(fù)制過去之后艾疟,并沒有能夠保持原樣来吩。看了下里面的設(shè)置蔽莱,發(fā)現(xiàn)NamingStrategy 的定義是:


那么設(shè)置成CamelCaseNamingStrategy似乎就不是個(gè)理想選擇弟疆。因此改成DefaultNamingStrategy ,收工盗冷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末怠苔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子仪糖,更是在濱河造成了極大的恐慌柑司,老刑警劉巖迫肖,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異攒驰,居然都是意外死亡蟆湖,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門玻粪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來隅津,“玉大人,你說我怎么就攤上這事劲室÷兹裕” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵很洋,是天一觀的道長充蓝。 經(jīng)常有香客問我,道長喉磁,這世上最難降的妖魔是什么谓苟? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮协怒,結(jié)果婚禮上娜谊,老公的妹妹穿的比我還像新娘。我一直安慰自己斤讥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布湾趾。 她就那樣靜靜地躺著芭商,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搀缠。 梳的紋絲不亂的頭發(fā)上铛楣,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音艺普,去河邊找鬼簸州。 笑死,一個(gè)胖子當(dāng)著我的面吹牛歧譬,可吹牛的內(nèi)容都是我干的岸浑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼瑰步,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼矢洲!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缩焦,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤读虏,失蹤者是張志新(化名)和其女友劉穎责静,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盖桥,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灾螃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了揩徊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腰鬼。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖靴拱,靈堂內(nèi)的尸體忽然破棺而出垃喊,到底是詐尸還是另有隱情,我是刑警寧澤袜炕,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布本谜,位于F島的核電站,受9級(jí)特大地震影響偎窘,放射性物質(zhì)發(fā)生泄漏乌助。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一陌知、第九天 我趴在偏房一處隱蔽的房頂上張望他托。 院中可真熱鬧,春花似錦仆葡、人聲如沸赏参。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽把篓。三九已至,卻和暖如春腰涧,著一層夾襖步出監(jiān)牢的瞬間韧掩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國打工窖铡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疗锐,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓费彼,卻偏偏與公主長得像滑臊,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子敌买,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級(jí)和職位的變化简珠,入門級(jí)到專家級(jí),廣度和深度都會(huì)有所增加。 題目類型: 理論知...
    怡寶丶閱讀 2,588評(píng)論 0 7
  • Razor 頁面是 ASP.NET Core MVC 的一個(gè)新功能聋庵,它可以使基于頁面的編碼方式更簡單高效膘融。 若要查...
    yanshouwang閱讀 7,267評(píng)論 0 5
  • 第3章 基本概念 3.1 語法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,130評(píng)論 0 21
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)祭玉。 注意:講述HT...
    kismetajun閱讀 27,513評(píng)論 1 45
  • 【轉(zhuǎn)載】CSDN - 張林blog http://blog.csdn.net/XIAOZHUXMEN/articl...
    竿牘閱讀 3,488評(píng)論 1 14