Category: JSON

先前介紹 ASP.NET Core 2.2 約略提過 .NET Core 3.0 將移除對 Json.NET 的依賴,改成可抽換式允許使用者更換偏好的版本。 前幾天微軟開發部落格有篇文章:Try the new System.Text.Json APIs!,詳細介紹 .NET Team 取代 Jso...

野人獻曝,分享最近在寫的正式、測試台間的小規模資料搬移法。 情境是正式台跟測試台各有自己的資料庫,想將正式台某幾筆資料匯出,備份保存或是匯入測試台資料庫模擬測試;或是反過來,資料先在測試台輸入驗證無誤後要上線,希望將將輸入好的資料直接匯入正式台,省去在正式台重新登打的工夫。 這類情境用 En...

從檔案萃取文字部分建立索引是全文檢索的必要程序,先前介紹過為 PDF、Office 檔案產生文字索引的做法,實際開發則遇到為 JSON 建立文字索引的需求。借用上回遞迴文章的組織資料當實例,假設 JSON 格式如下: { "Name": "總經理", "Children": [ ...

附檔管理模組裡採用 JSON 格式保存暫存物件,將附檔物件序列化暫存成檔案,稍後寫入資料庫時再還原取出資料,直覺又方便。不料因附檔物件內含檔案內容(byte[])體積龐大,在處理極端案例時踢到記憶體不足的鐵板。 批次作業程式為 32 位元模式,依經驗記憶體上限約 1.8 GB,一開始很直覺...

一直以來常被 JSON 日期序列化時區問題困擾,問題主要發生於從資料庫查詢日期欄位,轉為 .NET DateTime 型別時其 Kind 屬性為 Unspecified,而以 DateTime.Now、DateTime.Today 取得的日期物件,Kind 則為 Local,二者不一致可能導致前...

分享處理JSON反序列化轉回物件的建構式相關問題。 就拿早先文章提到的Ticker類別當例子: public class Ticker { readonly string symbol; readonly string market; public string S...

題目讀來有點不知所云,用實例講解才會清楚。在ASP.NET MVC Controller端建立的物件,想在輸出View的同時轉成JavaScript端物件,最直覺的做法是將物件轉為JSON字串,再以Razor語法內嵌一段var dataItem = { "num_prop":...

使用jQuery傳送物件JSON到ASP.NET MVC的做法之前介紹過,但最近我在專案又遇到新難題。 例如有一個參數物件,ArgObject,內含Name屬性及SubArg屬性,SubArg有其專屬型別SubArgObject,基於特殊需要,SubArgObject使用[JsonProper...

接獲報案,使用Json.NET將WebService傳回物件序列化為JSON字串,過程順利,但反序列化發生錯誤:Cannot create and populate list type System.Collections.Specialized.StringDictionary. Path '...

不知是RSS ATOM錯亂還是怎麼的,feedly RSS閱讀器冒出一篇Rick Strahl 2012的老文章 Using JSON.NET for dynamic JSON parsing ,讓我大吃一驚,發現自己一直用JProperty的笨拙方法處理動態JSON物件,其實結合dynamic...

某個ASP.NET MVC Action需要頻繁傳回大型數字陣列,數字大部分是整數,但部分帶有1-2位小數,故陣列採double[]或decimal[]。經Json.NET轉換後有個小問題: 即便是整數,轉換結果也會帶有".0"字尾,例如: double d = 2,Json...

是的,JSON日期問題又來了!! 上回提過在Server端透過Reviver函式解析ISO 8601格式(yyyy-MM-ddTHH:mm:ssZ),但實務上Client端理Json.NET序列化字串時,還有一個小眉角: 時區問題。 Json.NET在進行日時轉換時有個參數--DateTi...

昨天提到Json.NET屬性序列化設定,接獲讀者森哥留言: 請問黑大, 針對不需要序列化的「屬性」是否可以透過程式「動態」設定或是過濾? 有預感遲早也會遇到這個靠杯火盃的考驗,決定打鐵趁熱,馬上來練習。所幸,Json.NET真的很強大,早就料想到此一需求,提供Contrac...

開發主戰場漸漸移到前端,應用Json.NET的深度也逐步增加。今天學會Json.NET技巧兩則,筆記如下: 情境1: 待序列化物件的部分屬性純粹供.NET端應用,不需傳到前端,希望能予以排除以縮短JSON字串,減少頻寬浪費。 解決方案 方法1 - 在屬性加上[JsonIg...