Delphi是一種基于對象的編程語言,它具有強大的GUI設計能力和豐富的可視化組件庫,廣泛應用于Windows應用程序的開發。在實際開發中,我們常常需要處理JSON數據,將JSON格式的數據轉換為Delphi中易于操作的數據結構。
procedure TForm1.Button1Click(Sender: TObject);
var
jsonArray: TJSONArray;
jsonObj: TJSONObject;
i: Integer;
s: string;
begin
// 假設我們有以下JSON數據
s := '{"name": "張三", "age": 18, "gender": "MALE", "hobbies": ["Basketball", "Swimming", "Reading"]}'
// 解析JSON數據
jsonObj := TJSONObject.ParseJSONValue(s) as TJSONObject;
if Assigned(jsonObj) then
begin
try
for i := 0 to jsonObj.Count - 1 do
begin
if jsonObj.Items[i].JsonValue is TJSONArray then
begin
jsonArray := jsonObj.Items[i].JsonValue as TJSONArray;
// 處理數組
for i := 0 to jsonArray.Count - 1 do
begin
Memo1.Lines.Add(jsonArray.Items[i].Value);
end;
end
else
begin
// 處理普通值
Memo1.Lines.Add(jsonObj.Items[i].JsonValue.Value);
end;
end;
finally
jsonObj.Free;
end;
end;
end;
在此代碼中,我們定義了一個TJSONObject的對象jsonObj,通過調用TJSONObject.ParseJSONValue方法,將JSON格式的數據解析成jsonObj對象。然后,我們通過遍歷jsonObj的Items屬性,分別處理每一個值,如果值是數組類型,則轉換為TJSONArray對象,并遍歷每一個元素,將其保存到Memo1控件中,如果是普通值,則直接保存到Memo1控件中。
通過這種方法,我們可以簡單快捷地將JSON數據轉換為Delphi中的數據結構,并且能夠方便地處理不同類型的值。
下一篇c 自帶的json