在Delphi XE中解析嵌套JSON可以使用JSON庫,Delphi XE自帶的JSON庫可以很方便地解析JSON,但是當(dāng)JSON中存在嵌套時(shí)就需要用到一些特定的處理方法。
下面我們就來看一下如何使用Delphi XE解析嵌套JSON數(shù)據(jù):
var JSONObject: TJSONObject; OuterJSONArray, InnerJSONArray: TJSONArray; OuterJSONValue, InnerJSONValue: TJSONValue; begin // 例子JSON:{ "outer_array": [ {"inner_key": "inner_value"} ] } JSONObject := TJSONObject.ParseJSONValue(JSONString) as TJSONObject; // 獲取外層數(shù)組 OuterJSONValue := JSONObject.GetValue('outer_array'); if OuterJSONValue is TJSONArray then begin OuterJSONArray := OuterJSONValue as TJSONArray; // 讀取內(nèi)層數(shù)組 InnerJSONValue := OuterJSONArray.Items[0]; if InnerJSONValue is TJSONObject then begin InnerJSONArray := InnerJSONValue as TJSONArray; // 獲取內(nèi)層數(shù)組的鍵值對(duì) ShowMessage(InnerJSONArray.GetValue('inner_key')); // 輸出 "inner_value" end; end; end;
代碼中的注釋已經(jīng)解釋了每個(gè)步驟的作用,使用Delphi XE解析JSON嵌套非常方便。如果你需要自己解析JSON,也可以使用類似于代碼中的方法逐層解析。