Delphi7是一種強大的編程語言,支持讀取和解析Json數(shù)據(jù)。下面將介紹如何使用Delphi7從Json數(shù)據(jù)中獲取數(shù)據(jù)。
首先,需要用到Delphi7內(nèi)置的Json解析單元。可以在代碼中添加以下代碼:
uses dbxjson;
然后,需要從Json數(shù)據(jù)中獲取數(shù)據(jù)。可以通過以下代碼實現(xiàn):
var jsonObj: TJSONObject; jsonArray: TJSONArray; jsonStr: string; begin jsonStr := '{"name":"John","age":30,"city":"New York","pets":["dog","cat"]}'; jsonObj := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(jsonStr), 0) as TJSONObject; try if Assigned(jsonObj) then begin WriteLn('Name: ' + jsonObj.GetValue('name').Value()); WriteLn('Age: ' + IntToStr(jsonObj.GetValue('age').ValueAsInteger)); WriteLn('City: ' + jsonObj.GetValue('city').Value()); jsonArray := jsonObj.GetValue('pets') as TJSONArray; for var pet in jsonArray do WriteLn('Pet: ' + (pet as TJSONString).Value); end; finally jsonObj.Free; end; end;
上面的代碼先定義了一個Json字符串,然后使用TJSONObject.ParseJSONValue函數(shù)解析該字符串并返回一個TJSONObject對象。之后,通過GetValue函數(shù)獲取Json中的值,使用Value函數(shù)獲取值,或者使用ValueAsInteger等函數(shù)獲取整數(shù)值,或者將其轉(zhuǎn)換為TJSONArray遍歷其中的元素。
最后,需要注意的是,在使用完成后,需要釋放TJSONObject對象,避免出現(xiàn)內(nèi)存泄漏。