Delphi XE內置支持JSON,這意味著我們可以輕松地將JSON數據與我們的應用程序進行交互。我們可以使用TJSONObject和TJSONArray類來創建和操作JSON對象。
var jsonObj: TJSONObject; jsonArray: TJSONArray; begin // 創建JSON對象 jsonObj := TJSONObject.Create; jsonObj.AddPair('name', 'john'); jsonObj.AddPair('age', 25); // 創建JSON數組 jsonArray := TJSONArray.Create; jsonArray.Add('book1'); jsonArray.Add('book2'); jsonArray.Add('book3'); // 將JSON數組添加到JSON對象中 jsonObj.AddPair('books', jsonArray); // 將JSON對象轉換為字符串 ShowMessage(jsonObj.ToString); // 釋放內存 jsonObj.Free; end;
在上面的代碼中,我們首先創建了一個TJSONObject對象,并使用AddPair方法添加了兩個鍵值對。接下來,我們創建了另一個TJSONArray對象,并通過循環調用Add方法添加了三個項。然后,我們將JSON數組作為另一個鍵值對添加到JSON對象中。最后,我們使用ToJsonString方法獲取JSON對象的字符串表示形式,并將其顯示在一個消息框中。
如果我們從服務端收到JSON數據,我們也可以使用內置的TJSONObject.ParseJSONValue方法將其解析為TJSONValue對象。我們可以使用Value屬性獲取TJSONValue對象的值。
var jsonValue: TJSONValue; begin jsonValue := TJSONObject.ParseJSONValue('{"name":"john", "age":25}'); try ShowMessage(jsonValue.GetValue('name')); // 獲取字符串類型的name值 ShowMessage(IntToStr(jsonValue.GetValue ('age'))); // 獲取整型類型的age值 finally jsonValue.Free; end; end;
在上述示例中,我們使用TJSONObject.ParseJSONValue方法將JSON字符串解析為TJSONValue對象,并使用GetValue方法獲取鍵值對的值。注意,在最后必須釋放TJSONValue對象。
上一篇vue.js 偏移