[教程]QJSON 如何生成数组类型JSON数据

目标样式:[{“a”:123}, {“b”:123}, {“c”:123}]

首先,我们来看它的层级,第一层是一个数组,第二层为一个对象,所以,使用 QJSON 生成时,也就是下面的形式了:

var
  AJson:TQJson;
  AText:String;
begin
  AJson:=AcquireJson;
  AJson.DataType:=jdtArray;//设置第一层的类型为数组
  with AJson.Add do
    begin
    Add('a').AsInteger:=123;
    end;
  with AJson.Add do
    begin
    Add('b').AsInteger:=123;
    end;
  with AJson.Add do
    begin
    Add('c').AsInteger:=123;
    end;
  //添加完成,编码成紧凑型的Json字符串,具体参数请参考函数源码中说明
  AText:=AJson.Encode([]);
  ...
  ReleaseJson(AJson);
end;

最终生成的结果就如上面一样。如果遇到需要转义中文字符的场合,Encode中加参数即可。

分享到: