|
|
|
|
|
##var |
id |
name |
childrens' name |
# |
##type |
int |
string |
(list#sep=,),string |
balabala |
|
1 |
Mike |
A,B,C |
|
|
2 |
Any |
|
|
## |
balabala |
|
|
|
- 同样是这份数据,可以发现主要的奥秘在
##type
一行当中。childrens' name的type由两部分组成: list,type;前者用于表明这是个列表,后者表明该列表的元素类型。type可以是int,string,也可以是后文将要讲到的自定义类型。
- (list#sep=,),该修饰符sep= '@'中的@主要用于表明,每个元素之间用什么隔开。如上文示例
,
。当然,如果该类型是自定义类型,则最好使用|
,后续也会提及。
- 对于自定义的数据类型,难免变量也会是自定义的。这样只用int和string将会满足不了我们。所以我们需要到
_beans_.xlsx
文件夹下去自定义我们的类。我们先将MyData.xlsx
稍作修改。
|
|
|
|
|
##var |
id |
name |
childrens' name |
# |
##type |
int |
string |
(list#sep=|),children |
balabala |
|
1 |
Mike |
A,11|B,10|C,20 |
|
|
2 |
Any |
|
|
## |
balabala |
|
|
|
- 可以看到,我们将list的value类型改成了children自定义类型。为了让luban明白这个类型,我们需要打开
_beans_.xlsx
文件。
- 对于children类,我们姑且作如下设计
class children{
string m_name;
int age;
}
- 由于我们的类是一个独立的类,并不继承自任何类,所以我们只需要将full_name下添加数据
children
(我们刚在数据里使用的名字,千万别打错了)。
- 在sep栏里,我们填入
,
。如(list#sep=,)一样,这里是选择该类的元素应该用什么隔开。
- 最重要的是右边的
*field
栏。这里的name
和type
就类似我们在MyData.xlsx
当中写的##var
和##type
,只不过这里的数据应当竖着填写。
|
|
|
|
|
name |
type |
group |
comment |
tags |
m_name |
string |
|
|
|
age |
int |
|
|
|
|
|
|
|
|
最后这就是我们的结果啦。完结撒花。如果需要更深入的了解,还是得多看看官方文档。对于enum的文件我们还尚未使用。也许后面会更新该博客。
[
{
"id": 1,
"name": "Mike",
"childrens'name": [
{
"m_name": "A",
"age": 11
},
{
"m_name": "B",
"age": 10
},
{
"m_name": "C",
"age": 20
}
]
},
{
"id": 2,
"name": "Any",
"childrens'name": []
}
]