這篇要說明 JSON 格式在 Delphi 裡是怎麼被理解的。
JSON 名詞解釋:
JSON(JavaScript Object Notation),這世界上有兩大資料交換語言
一個是 XML,另一個就是 JSON
因為 JSON 廣泛被使用在網際網路上,所以 Delphi 也在 2009 年時加入了 JSON 的 RPC,正式成為 DataSnap framework 傳輸規範。
JSON 的鐵路圖表 (Railroad Diagram) 說明書坊間資源寫很多,在這邊就不贅述了
JSON Object 𨭱路圖表 (Railroad Diagram) 圖片來源 |
以本篇的範例來看,簡化之後的內容如下:
{ "USD" : { "15m" : 2510.86, "last" : 2510.86, "buy" : 2510.01, "sell" : 2510.86, "symbol" : "$"} }
JSON Object 在 Delphi 裡就是以 TJSONObject 物件視之。
已知最外圈的就是一個 Big Object,名稱隨喜。 (笑)
按照 Delphi 寫法即是:
JSONObj := TJSONObject.ParseJSONValue(Source JSON String).
有 Object (果實)便有 Property(果肉),Property 是以【String : Value】型式存在的。
以資料庫類比的話,大概是【FieldName : Value】,這樣就比較瞭解了吧!
取得果實後,要取出果肉了,Delphi 是以 TJSONPair 實現,實際來寫是:
JSONPair := LJSObj.Get(0)
JSONPair 拆開得到:
string : value => "USD" : {"15m"......."$"}
Delphi 用 TJSONPair.JSONString 來解釋 string,用 TJSONPair.JSONValue 來解釋 value。
按照這個範例來看:
TJSONPair.JSONString 會取得 "USD"。
TJSONPair.JSONValue 則會,取得下一個物件
其實就是俄羅斯娃娃的概念 圖片來源 |
然後,聰明如您,您應該知道怎麼解了吧!
== 全文完 ==
沒用心寫完!
回覆刪除很高興你閱讀這篇文章。
刪除邀請你參考一下這本書:
http://grandruru.blogspot.com/2020/07/delphi-in-depth-datasnap.html
期待你的閱讀!