Result(([(),()],[(),(),(),()]))这样格式的接口数据要怎么取数落表?
首先这种格式是一个包含两个元素的元组(tuple),每个元素都是一个包含多个元素的列表[],补充:元组以"()"形式表现,列表以"[]"形式表现。
下面我们来拿一个实际的接口数据来实操:
Result(code=0000, msg=success, data=dataVo(lista=[DataDto(name=名称1, value1=12.3, value2=-4), DataDto(name=名称2, value1=1.23, value2=-10)],listb=[DataDto(name=名称3, value1=10.1, value2=-12), DataDto(name=名称4, value1=1.5, value2=-22), DataDto(name=名称5, value1=2.6, value2=-9), DdrbDataDto(name=名称6, value1=11.2, value2=-32)]))
分析:
这个接口数据是一个包含三个部分的结果对象:code、msg 和 data。
code:表示操作的状态码,通常是一个数字或字符串,用于表示操作的成功或失败,在这里code=0000 表示成功。
msg:表示操作的消息,通常是一个描述操作结果的字符串。
data:表示操作返回的数据,通常是一个对象或数组,这个data里包裹的内容就是我们要的数据啦。
在这个例子中,data 是一个包含两个列表的 dataVo 对象:lista 和 listb 。每个列表都是一个包含多个 DataDto 对象的数组。每个 DataDto 对象都包含三个属性:name 、 value1 和 value2 。
这里提供两种方案:1、所有数据都写入到一张整表; 2、一个列表数据写入一张表。
方法一:写入到一张表DATA_TABLE(lista,listb,lista_name,lista_value1,lista_value2,listb_name,listb_value1,listb_value2)
输出的表结果为:
代码示例:
import java.util.ArrayList;
import java.util.List;
public class DataProcessing {
//其余代码省略
public static void processData(Result result) {
// 获取 dataVo 对象
DataVo dataVo = Result.getData();
List<DataDto> lista = dataVo.getLista();
List<DataDto> listb = dataVo.getListb();
// 循环次数
int loopCount = Math.max(lista.size(), listb.size());
for (int i = 0; i < loopCount; i ) {
// 取出 lista 数据
DdrbDataDto listaData = (i < lista.size())? lista.get(i) : null;