JSON作為前后端交互的標準格式,應用非常普遍。在做Delphi開發中,需要將JSON字符串轉為對象,方便進行操作。這里介紹一種簡單的方式。
var
JsonObject: TJsonObject; //需要使用系統自帶的Json庫
JsonString: string;
MyObject: TMyObject;
begin
JsonString := '{"name":"Tom","age":18}';
JsonObject := TJSONObject.ParseJSONValue(JsonString) as TJsonObject;
try
MyObject := TJson.JsonToObject<TMyObject>(JsonObject.ToString);
//注意這里使用了System.JSONReflect單元中的JsonToObject方法
//TMyObject是自定義的一個類,屬性與JSON中的屬性對應
finally
JsonObject.Free;
end;
end;
通過TJSONObject.ParseJSONValue方法將JSON字符串轉為TJsonObject對象,然后使用JsonToObject方法將其轉換為自定義類對象。
需要注意一下兩點:
一是需要注意自定義類中屬性與JSON中屬性的對應關系,這樣才能正確轉換。
二是需要確保使用的JSON庫版本與Delphi版本匹配,否則可能出現不兼容的問題。