[//]: # (Author: bug) [//]: # (Date: 2020-11-01 16:26:41) # json 数据源 ## 以复合json文件形式组织 整个表以一个或者多个json文件的形式组织。在table的input属性中手动指定json数据源,有以下几种格式: - xxx.json,把xxx.json当作一个记录读入。 - *@xxx.json,把xxx.json当作记录列表读入。 - field@xxx.json,把 xxx.json中的field字段当作一个记录读入。field可以是深层次字段,比如 a.b.c。 - *field@xxx.json,把xxx.json中的field字段当作记录列表读入。field可以是深层次字段。 比较有趣的是,与xlsx数据源相似,支持将多个表放到同一个json中,不过实践中极少这么做。 如下列示例: - TbCompositeJsonTable1 从 composite_tables.json的table1字段中读入记录列表,从composite_tables2.json中读入记录列表,从one_record.json中读入一个记录 - TbCompositeJsonTable2 从 composite_tables.json的table2字段中读入记录列表 - TbCompositeJsonTable3 从 composite_tables.json的table3字段中读入一个记录 ```xml
``` ## 以目录树形式组织 典型用法是,以目录为数据源(会遍历整棵目录树),目录树下每个json文件为一个记录,读入。 ```xml 多态数据结构 使用;来分隔
``` 递归遍历test/json_datas整个目录树,**按文件名排序后**依次将每个json数据当作一个记录读入。其中1.json文件内容如下 ```json { "x1":true, "x2":3, "x3":128, "x4":1, "x5":11223344, "x6":1.2, "x7":1.23432, "x10":"hq", "x12": { "x1":10}, "x13":"B", "x14":{"__type__": "DemoD2", "x1":1, "x2":2}, "v2":{"x":1, "y":2}, "v3":{"x":1.1, "y":2.2, "z":3.4}, "v4":{"x":10.1, "y":11.2, "z":12.3, "w":13.4}, "t1":"1970-01-01 00:00:00", "k1":[1,2], "k2":[2,3], "k7":[2,3], "k8":[[2,2],[4,10]], "k9":[{"y1":1, "y2":true},{"y1":2, "y2":false}], "k15":[{"__type__": "DemoD2", "x1":1, "x2":2}] } ```