如何使用XSuperObject查询只有[]的JSON数组

时间:2017-08-23 06:57:05

标签: delphi xsuperobject

我有这个数组:

["a", "b", "c", "d"]

我需要使用XSuperObject获取这些结果。目前,根据我对XSuperObject库的理解,你需要这样的东西来获取数据:

aObj := SA(returnString);
for i := 0 to aObj.Length - 1 do
begin
  obj2 := aObj.O[i];
  arrayElement := GetJsonValue(obj2, keyValue);
end;

GetJSONValue是一个定义为:

的函数
function TfrmMain.GetJsonValue(obj:ISuperObject; Name: String): String; 
begin
  Result := '';
  if obj.Contains(Name) then
  Result := obj.S[Name];
end;

这适用于以此JSON格式返回的数组:

[{"activityID":"1","keyValue":"a"},
 {"activityID":"2","keyValue":"b"},
 {"activityID":"3","keyValue":"c"}]

如何让XSuperObject库适用于顶部的数组。

非常感谢任何帮助。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您有一个字符串数组,而不是一个对象数组,因此请跳过GetJsonValue()并单独使用aObj.S[i]

aObj := SA(returnString);
for i := 0 to aObj.Length - 1 do
begin
  arrayElement := aObj.S[i];
end;