目标样式:[{“a”:123}, {“b”:123}, {“c”:123}]
首先,我们来看它的层级,第一层是一个数组,第二层为一个对象,所以,使用 QJSON 生成时,也就是下面的形式了:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
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中加参数即可。