在Delphi開發中,常常需要對JSON數據進行處理。隨著JSON的流行,對JSON數據的處理也成為了開發中的核心問題。
在Delphi中,JSON數據主要表示為TJSONObject和TJSONArray兩種類型對象。TJSONObject是一種將JSON數據表示為名稱/值對的容器,而TJSONArray是一種將JSON數據表示為有序值集合的容器。
TJSONObject類型對象可以使用AddPair方法來添加名稱/值對,值的類型可以是AnsiString、WideString、Double、Integer、Boolean以及JSON格式的字符串,例如:
var json: TJSONObject; begin json := TJSONObject.Create; json.AddPair('name', '張三'); json.AddPair('age', TJSONNumber.Create(18)); json.AddPair('address', TJSONObject.Create.AddPair('city', '上海').AddPair('street', '浦東新區')); end;
在這個例子中,我們創建了一個TJSONObject類型的對象,并添加了三個名稱/值對。其中名稱為name的值是一個AnsiString類型的字符串;名稱為age的值是一個TJSONNumber類型的對象,該類型用于封裝數值類型;名稱為address的值是一個TJSONObject類型的對象,我們又使用了AddPair方法來添加另外兩個名稱/值對,以此構建一個嵌套的JSON結構。
TJSONArray類型對象可以使用AddElement方法來添加元素,元素的類型可以是AnsiString、WideString、Double、Integer、Boolean以及JSON格式的字符串,例如:
var arrayJson: TJSONArray; begin arrayJson := TJSONArray.Create; arrayJson.AddElement(TJSONString.Create('張三')); arrayJson.AddElement(TJSONNumber.Create(18)); arrayJson.AddElement(TJSONTrue.Create); end;
在這個例子中,我們創建了一個TJSONArray類型的對象,并添加了三個元素。其中第一個元素是一個TJSONString類型的對象,表示一個AnsiString類型的字符串;第二個元素是一個TJSONNumber類型的對象,表示一個數值類型的值;第三個元素是一個TJSONTrue類型的對象,表示一個布爾類型的值。
除了這些基本類型,Delphi還提供了TJSONNull、TJSONFalse和TJSONDate類型,可以用來表示JSON格式的null、false和日期類型。同時,Delphi還提供了一些對JSON數據進行解析和處理的方法,例如解析JSON字符串、根據名稱查找值、獲取子對象和子數組等。