Browse by Tags

Json.NET反序列化之建構式議題
分享處理JSON反序列化轉回物件的建構式相關問題。 就拿 早先文章 提到的Ticker類別當例子: public class Ticker { readonly string symbol; readonly string market; public string Symbol { get { return symbol; } } public string Market { get { return market; } } public string FullSymbol { get { return...
Posted 10 August 2016 08:06 AMJeffrey | with no comments 4,022
Filed under:
網頁內嵌JSON建立JS物件之日期轉換問題
題目讀來有點不知所云,用實例講解才會清楚。在ASP.NET MVC Controller端建立的物件,想在輸出View的同時轉成JavaScript端物件,最直覺的做法是將物件轉為JSON字串,再以Razor語法內嵌一段var dataItem = { "num_prop": 1234, "str_prop": "ABCD", "bool_prop": true }; JavaScript語法,直接建立JavaScript物件...
Posted 29 June 2016 12:22 AMJeffrey | with no comments 2,933
Filed under: ,
以JSON傳送大量物件引發ASP.NET MVC反序列化錯誤
某專案使用 [FromPartialBody] 在ASP.NET MVC Action接收jQuery送來的物件陣列,初測無誤後進行正式測試,發現只要物件陣列的筆數一多,網頁就會爆炸: System.InvalidOperationException: The JSON request was too large to be deserialized.    於 System.Web.Mvc.JsonValueProviderFactory.EntryLimitedDictionary...
Posted 29 October 2015 10:16 PMJeffrey | 2 comment(s) 4,852
Filed under: ,
再談jQuery傳送物件JSON給ASP.NET MVC
使用jQuery傳送物件JSON到ASP.NET MVC 的做法之前介紹過,但最近我在專案又遇到新難題。 例如有一個參數物件,ArgObject,內含Name屬性及SubArg屬性,SubArg有其專屬型別SubArgObject,基於特殊需要,SubArgObject使用[JsonProperty]及[JsonIgnore]自訂JSON轉換邏輯(實際專案用的是 [JsonConverter(...)] ,此處簡化為[JsonProperty],指定PropB在JSON中需更名為PropX): public...
Posted 11 May 2015 09:43 PMJeffrey | 2 comment(s) 8,286
Filed under: ,
StringDictionary無法JSON反序列化
接獲報案,使用Json.NET將WebService傳回物件序列化為JSON字串,過程順利,但反序列化發生錯誤: Cannot create and populate list type System.Collections.Specialized.StringDictionary. Path '', line 1, position 1. 問題物件包含StringDictionary型別,StringDictionary經JSON轉換後變成[{"Key":"...
Posted 24 March 2015 09:45 PMJeffrey | 1 comment(s) 5,219
Filed under:
使用dynamic簡化Json.NET JObject操作
不知是RSS ATOM錯亂還是怎麼的,feedly RSS閱讀器冒出一篇Rick Strahl 2012的老文章 Using JSON.NET for dynamic JSON parsing ,讓我大吃一驚,發現自己一直用JProperty的笨拙方法 處理動態JSON物件 ,其實結合 dynamic 就能大幅簡化。莫名其妙讀到兩年多前的文章,是老天爺的安排吧?擔心不順從天意會遭天譴,特筆記分享之。XD 以下範例示範使用強型別物件、JObject+JProperty、JObject+dymanic三種不同做法...
Posted 10 February 2015 09:02 PMJeffrey | 3 comment(s) 11,543
Filed under:
JSON轉換時去除小數字尾零
某個ASP.NET MVC Action需要頻繁傳回大型數字陣列,數字大部分是整數,但部分帶有1-2位小數,故陣列採double[]或decimal[]。經Json.NET轉換後有個小問題: 即便是整數,轉換結果也會帶有".0"字尾,例如: double d = 2,Json.NET轉成"2.0",而decimal有個有趣特性,小數尾端的零會被原原本本保存,例如: decimal d = 1.200M,d.ToString()為"1.200"...
Posted 13 June 2014 06:49 AMJeffrey | 2 comment(s) 10,925
Filed under:
Json.NET日期序列化的時區問題
是的,JSON日期問題又來了!! 上回提過在Server端 透過Reviver函式 解析ISO 8601格式(yyyy-MM-ddTHH:mm:ssZ),但實務上Client端理Json.NET序列化字串時,還有一個小眉角: 時區問題。 Json.NET在進行日時轉換時有個參數-- DateTimeZoneHandling ,預設為RoundtripKind,故會保留時區資訊(Time zone information should be preserved when converting.)。而...
Posted 03 October 2013 11:52 PMJeffrey | 8 comment(s) 18,469
Filed under: ,
【答客問】Json.NET-動態決定屬性是否序列化
昨天提到 Json.NET屬性序列化設定 ,接獲讀者森哥留言: 請問黑大, 針對不需要序列化的「屬性」是否可以透過程式「動態」設定或是過濾? 有預感遲早也會遇到這個 靠杯 火盃的考驗,決定打鐵趁熱,馬上來練習。所幸,Json.NET真的很強大,早就料想到此一需求,提供 ContractResolver 以實現神乎奇技的高度動態化。 我寫了一個範例,展示兩種動態決定應序列化屬性的情境: Serialize時傳入屬性名稱陣列作為參數,正向表列JSON應包含的屬性。 由物件屬性值決定屬性是否要序列化,例如...
Posted 04 September 2013 09:26 PMJeffrey | 6 comment(s) 6,033
Filed under: ,
Json.NET技巧兩則: 忽略屬性及列舉轉字串
開發主戰場漸漸移到前端,應用Json.NET的深度也逐步增加。今天學會Json.NET技巧兩則,筆記如下: 情境1: 待序列化物件的部分屬性純粹供.NET端應用,不需傳到前端,希望能予以排除以縮短JSON字串,減少頻寬浪費。 解決方案 方法1 - 在屬性加上[JsonIgnore],負向表列哪些屬性不要序列化。 方法2 - 在類別加上[DataContract],為需序列化屬性加上[DataMember],正向表列哪些屬性需要序列化。 參考: Efficient JSON with Json.NET...
Posted 03 September 2013 11:01 PMJeffrey | 2 comment(s) 8,453
Filed under: ,

搜尋

Go

<February 2017>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
2627281234
567891011
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication