跳转至

Luban基础语法

  • 首先,为了避免输出不必要的文件,请在确认一次,目前的Datas文件夹下应该只有三个xlsx文件,且只有前三行。Defines文件下为空。
  • 如果需要更深入的语法,请见官方文档说明

新建自己的数据表格

  1. Datas文件夹下新建一个文件夹,并命名为MyDatas,并在该文件夹下新建一个xlsx文件,同样命名为MyDatas.xlsx养成文件分开放的好习惯。

  2. 打开刚刚新建的MyDatas.xlsx文件。打入一下数据

##var id name childrens' name #
##type int string (list#sep=,),string balabala
1 Mike A,B,C
2 Any
## balabala

最基本的语法讲解

  • 第一行的##var代表变量的key的名称,第二行的##type代表value所代表的类型。如上文中的1表示:{"id":1},其中1是int类型。这两行的顺序无硬性要求。而第三到第四行,则是具体的数据行,也就是我们要配置数据的地方。而第五行,由于第一列打入了##,所以该行为注释行,并不会影响到最后的数据输出。
  • 第五列的第一个元素是#,所以该列会被注释掉。

如果想注释该行,则##必须放到第一列当中。

  • 先不管第三列的list用法如何,我们先尝试输出该文件到json。所以我们打开Datas文件夹下的_tables_.xlsx文件。

将要打包的文件告诉luben.config

  • 由于我们只是转成json文件,这里的很多列我们不需要填。只需要如下几个操作
  • full_name列下打入MyData(起什么名字都行,这是最终的输出文件名字).
  • read_schema_from_file列下,我们打入TRUE。
  • input下,我们打入MyData/MyData.xlsx。(如果你没有按我的方法建立MyData文件夹和文件,就要自行修改文件相对路径哦)。

打包

  • 找到上一个页面中我们创建的gen.bat文件,双击。如果正常运行,则会产生一系列日志,最终一行是 bye~。然后我们进入到你定义在-x outputDataDir=<你的json文件要输出的路径>的路径下,会找到一个文件为MyData.json。具体如下:
        [
      {
        "id": 1,
        "name": "Mike",
        "childrens'name": [
          "A",
          "B",
          "C"
        ]
      },
      {
        "id": 2,
        "name": "Any",
        "childrens'name": []
      }
    ]
    

结果讲解

  • 所以我们发现,每一行的数据代表一个对象。而一个xlsx的所有行,汇聚成了一个数组数据。里面的数据顺序也和你在xlsx里定义的数据相同。如果熟悉json文件的读者,应该已经对这种数据生成有所悟道。下面,我们去到基础语法+进行深入了解。

可是有时候反序列化是一个对象,这是一个数组,怎么办呢? 很简单。将json以string的方式读入到脚本当中。让后对string进行修饰即可。如,该数组是一个叫Mylist数组,则对该string = "{ \"Mylist\" " + string + "}"的方式嵌套一层外壳即可。