緣起:
突然想到,我的程式如果要處理那些 Facebook API 回傳的資訊的話,我必須要有方法能解析那些 json 的字串,所以今天在開始研究 API 前,我想先學會 C# 解析 json 的方法。
這東西我在我們公司的專案裡也有看到,只要是解析 json 就是用它,沒有看到其它的方法 (也有可能是我眼殘),然後我去 google,大部份的教學都是用它,所以載它來用肯定沒錯。
這個套件可以直接在 Visual Studio 上,用 Nuget 來安裝,Microsoft 的官方網站有很詳盡的教學,在專案管理視窗中,對自己的 project 點右鍵就能看到 Nuget 的選項。
解析 Json:
我看我公司在使用這個套件時,都是先建一個跟那個 json 相對應欄位的 class,再使用那個 class 去處理 json 的解析,網路上的教學也大多是這樣,可是我目前用到的 Facebook API 回傳的 json 格式就只有一層,只需簡單拿到某個第一層欄位的資料就行,為了那些回應而建 class 好像不值得,所以我後來找了不需用類別的方法。
首先,引入需要的套件
這東西的介紹在這,我把它理解成,在程式跑的時候才決定它的類型,而且隨時都能變化這樣。
我們的 json 字串有 id 這個欄位,可以像下面的程式這樣存取它,即使你在打 json. 時,編輯器沒出現 id 這個建議,程式之後也不會報錯。
不過如果存取不存在的欄位,它會有例外發生。看來,要保險使用的話,要弄個 try catch。我後來還有發現,那個 dynamic 可以換成 JToken,那個 Jvalue.Parse 回傳的是 Jtoken 類型,我們也可以用 Jtoken 的方法來取值,我在這邊有找到解答。
程式這樣寫也能得到欄位的資料。
沒有留言:
張貼留言