Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json XSuperObject对象显示_Json_Delphi - Fatal编程技术网

Json XSuperObject对象显示

Json XSuperObject对象显示,json,delphi,Json,Delphi,我有一行json类型: Rows : [{ scan : 12, find : 6, fImg : 2 }] 我正在使用xsuperobject。 我要显示行。扫描 如果它不是一个对象,我可以像X一样显示['scan'] 我搜索了这个页面: 他举了一个例子,但这是一个倍数。我有一句话。我该怎么做呢?如果您的JSon是多级的,您可以在您想要检索的级别上进行迭代,这里是“行” ROW1= '{Rows : [{ scan : 12, find : 6, fImg : 2 }]}'; var

我有一行json类型:

Rows : [{ scan : 12, find : 6, fImg : 2 }]
我正在使用xsuperobject。
我要显示行。扫描
如果它不是一个对象,我可以像X一样显示['scan']

我搜索了这个页面:


他举了一个例子,但这是一个倍数。我有一句话。我该怎么做呢?

如果您的JSon是多级的,您可以在您想要检索的级别上进行迭代,这里是“行”

ROW1= '{Rows : [{ scan : 12, find : 6, fImg : 2 }]}';

var
  X: ISuperObject;
  AMember,
  OMember: IMember;
begin
  X := TSuperObject.Create(ROW1);
  for AMember in X.A['Rows'] do
  begin
      for OMember in AMember.AsObject do
          Memo1.Lines.Add(OMember.Name + ' = ' + OMember.ToString);
      Memo1.Lines.Add('------');
  end;
end;
对于一个简单的对象,只需迭代对象本身

ROW2= '{ scan : 12, find : 6, fImg : 2 }';

var
  X: ISuperObject;
  AMember,
  OMember: IMember;
begin
  X := TSuperObject.Create(ROW2);
  for OMember in X do
     Memo1.Lines.Add(OMember.Name + ' = ' + OMember.ToString);
end;
出现错误“ISuperExpression不包含名为“I”的成员”。
ROW2= '{ scan : 12, find : 6, fImg : 2 }';

var
  X: ISuperObject;
  AMember,
  OMember: IMember;
begin
  X := TSuperObject.Create(ROW2);
  for OMember in X do
     Memo1.Lines.Add(OMember.Name + ' = ' + OMember.ToString);
end;
procedure TForm4.Button1Click(Sender: TObject);
var
  json: ISuperObject;
begin
  json := SO('{"Rows":[{"scan":12,"find":6,"fImg":2}]}');

  ShowMessage(json.A['Rows'].O[0].I['scan'].ToString());
end;