diff --git a/docs/data_json.md b/docs/data_json.md
index 50a1e17..ec48b67 100644
--- a/docs/data_json.md
+++ b/docs/data_json.md
@@ -3,71 +3,40 @@
# 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字段中读入一个记录
+## json数据格式
-```xml
-
-
-
-
-
-
-
-
-
-
-
-
+大多数数据格式填法符合直觉,有几个数据类型的格式比较特殊:
+- set类型。填法为 [v1,v2,...]
+- map类型。由于json只支持string类型的key,因此map格式填法为 [[k1,v1],[k2,v2]...]
+- 多态bean类型。需要 \_\_type\_\_ 属性来指定具体类型名。
-
-
-
-```
-
-## 以目录树形式组织
-典型用法是,以目录为数据源(会遍历整棵目录树),目录树下每个json文件为一个记录,读入。
+不同数据结构在json中格式示例如下:
```xml
-
+
-
+
- 多态数据结构
+
- 使用;来分隔
+
-
-
+
+
-
-
```
-递归遍历test/json_datas整个目录树,**按文件名排序后**依次将每个json数据当作一个记录读入。其中1.json文件内容如下
+示例json文件内容如下
```json
{
@@ -94,3 +63,61 @@
"k15":[{"__type__": "DemoD2", "x1":1, "x2":2}]
}
```
+
+## 以复合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文件为一个记录读入。
+
+如下,递归遍历test/json_datas整个目录树,**按文件名排序后**依次将每个json数据当作一个记录读入。
+
+```xml
+
+```
+
+## 数据tag
+与excel格式类似,json格式支持记录tag,用 \_\_tag\_\_ 属性来指明tag,示例如下:
+
+```json
+{
+ "__tag__":"dev",
+ "x":1,
+ "y":2
+}
+```
+
+
diff --git a/docs/data_lua.md b/docs/data_lua.md
index 85caf70..2cd8cc6 100644
--- a/docs/data_lua.md
+++ b/docs/data_lua.md
@@ -3,44 +3,40 @@
# Lua 数据源
-## 以复合lua文件形式组织
+## json数据格式
-整个表在一个或者多个lua文件中组织。用法与json数据源相似,参见 [json数据源](./data_json.md)
+大多数数据格式符合直觉,有几个特殊点:
+* 数据前有一个return,这是因为 lua 数据是当作 lua 文件加载的,每个加载后的结果当作一个记录读入。
+* set 的格式为 {v1, v2, ...}
+* 与json不同,lua 的table的key支持任意格式,所以lua的map可以直接 {[key1] = value1, [key2] = value2, ,,,}
-## 以目录树形式组织
-* 与 json 相似定义。
-* 唯一区别在于, lua 的table的key支持任意格式,所以 lua 的map 可以直接 {[key1] = value1, [key2] = value2, ,,,}
-* 
-* 注意 数据前有一个 return 语句。因为 lua 数据是当作 lua 文件加载的,每个加载后的结果当作一个记录读入。
+定义
```xml
-
+
-
+
- 多态数据结构
+
- 使用;来分隔
+
-
-
+
+
-
-
```
-递归遍历test/lua_datas整个目录树,**按文件名排序后**依次将每个lua数据当作一个记录读入。其中1.lua文件内容如下
-
+示例数据
```lua
return
@@ -66,4 +62,27 @@ return
k9 = { {y1=1,y2=true}, {y1=10,y2=false} },
k15 = { { __type__="DemoD2", x1 = 1, x2=3} },
}
+```
+
+## 以复合lua文件形式组织
+
+整个表在一个或者多个lua文件中组织。用法与json数据源相似,参见 [json数据源](./data_json.md)
+
+## 以目录树形式组织
+
+典型用法是,以目录为数据源(会遍历整棵目录树),目录树下每个lua文件为一个记录读入。如下示例,递归遍历test/lua_datas整个目录树,**按文件名排序后**依次将每个lua数据当作一个记录读入。
+
+```xml
+
+```
+
+## 数据tag
+与excel格式类似,也支持记录tag,用 \_\_tag\_\_ 属性来指明tag,示例如下:
+
+```lua
+return {
+ __tag__ = "dev",
+ x = 1,
+ y = 2,
+}
```
\ No newline at end of file