JSON(JavaScript 對象表示法)是一種輕量級的數(shù)據(jù)交換格式,其解析和生成通常使用專門的庫。在 Delphi 中,我們可以使用第三方庫來實(shí)現(xiàn) JSON 的解析和生成功能。在本文中,我們將介紹使用 Delphi 中的 JSON 庫進(jìn)行編程的基本知識和技巧。
想要在 Delphi 中處理 JSON 數(shù)據(jù),我們需要先引用 JSON 庫。目前,有許多 Delphi JSON 庫可供我們選擇,比如 SuperObject、dwsJSON、mORMot 等等。這里,我們推薦使用 SuperObject 庫,因?yàn)樗褂梅奖悖宜俣容^快。要引用 SuperObject 庫,我們可以在 Delphi 中使用下面的代碼:
uses SuperObject;
有了 SuperObject 庫之后,我們就可以開始使用 JSON 了。首先,我們需要將一個 JSON 字符串解析成一個 Delphi 對象。我們可以使用庫提供的一個函數(shù) SuperObject.ParseString 來實(shí)現(xiàn)這個功能。下面是一個示例代碼:
var jsonstr: string; json: ISuperObject; begin jsonstr := '{"name":"John", "age":30, "city":"New York"}'; json := SO(jsonstr); end;
這個代碼將字符串“{'name':'John', 'age':30, 'city':'New York'}”解析成了一個名為 json 的 Delphi 對象。在這個對象中,我們可以使用 key-value 的形式來訪問其中的信息。比如,我們可以使用下面的代碼來獲取其中的 name 和 age:
var name: string; age: Integer; begin name := json.S['name']; age := json.I['age']; end;
同樣的,我們也可以將一個 Delphi 對象轉(zhuǎn)換為 JSON 格式的字符串。這個功能可以使用 SuperObject 庫提供的一個函數(shù),名為 SuperObject.AsJSon。我們只需要將 Delphi 對象傳給這個函數(shù),就可以得到一個 JSON 格式的字符串了。比如,下面的代碼將一個 Delphi 對象轉(zhuǎn)換為了 JSON 字符串:
var json: ISuperObject; jsonstr: string; begin json := SO; json.S['name'] := 'John'; json.I['age'] := 30; json.S['city'] := 'New York'; jsonstr := json.AsJSon(True); end;
這個代碼將一個 Delphi 對象的名字、年齡和所在城市存儲在 json 對象中,并將其轉(zhuǎn)換為 JSON 格式的字符串。