Syntax Specification · nuysoft/Mock Wiki · GitHub
[
{
"list|5": [
{
"id|+1": 1,
"goods_name": "@string('夏季专柜同款女鞋', 1, 3)",
"goods_price": "@integer(60, 100)",
"tags": ["舒适", "透气"],
"inputVisible": false,
"amount": 1,
"inputValue": "",
"checkState": false
}
]
}
]
数据模板的每个属性由三部分构成:
- 属性名 name
- 生成规则 rule
- 属性值 value
如
'name|rule':value
比如'age|1-100':40
每条数据年龄随机在1至100之间,默认值是40.
rule
数字
累加ID:
'name|+1':number
。如'id|+1':1
每条数据依次递增,且起始默认值是 1。
整数区间:
'name|min-max':number
。如'discount|20-90':30
,每条数据会随机在[20,90]
中取整数值,默认值是 30 (意味着30一定会出现一次)
浮点区间:
'name|min-max.dmin-dmax':number
。如'price|39-199.11-98':39.99
,每条数据会随机在[39.11, 199.98]
中取小数值,但小数位数也会只在[.11, .98]
之间
布尔值
概率生成布尔值:
'name|min-max': value
。如'isAvaliable|2-3':true
,每条数据会随机取正值或负值,并且取正值的概率是min/(min+max)
即(2/5)
五分之二的概率。默认为1时表示一半概率,'name|1':value
。
对象属性抽取
固定数量抽取
'name|count': object
示例:'selected|2': { "a": 1, "b": 2, "c": 3, "d": 4 }
从属性值object
中随机选取count
个属性。
范围数量抽取
'name|min-max': object
示例:'selected|1-3': { "a": 1, "b": 2, "c": 3, "d": 4 }
从属性值object
中随机选取min
到max
个属性。
数组元素重复
固定次数重复
'name|count': array
示例:'data|3': [1, 2, 3]
生成一个包含array
中所有元素重复count
次的数组。
范围次数重复
'name|min-max': array
示例:'data|1-5': [1, 2, 3]
生成一个包含array
中所有元素重复min
到max
次的数组。
数组元素选取
固定数量选取
'name|count': array
示例:'data|2': [1, 2, 3, 4]
随机选取array
中的count
个元素组成一个新数组。
范围数量选取
'name|min-max': array
示例:'data|1-3': [1, 2, 3, 4]
随机选取array
中的min
到max
个元素组成一个新数组。
value
Mock.Random · nuysoft/Mock Wiki · GitHub
内置了很多常用的随机数据如名字,电子邮件等,同时也可以使用 Mock.Random
来单独生成特定单个数据,模式和类型是一样的。
在需要时还可以为 Mock.Random 扩展方法,然后在数据模板中通过 @扩展方法
引用。
姓名
Name · nuysoft/Mock Wiki · GitHub
'name': '@name'
生成一个随机名字。'name': '@FIRST'
单独生成姓名,还有@middle, @last
可以组合使用:
'full': '@first @middle @last'
如"full": "Charles Brenda Lopez"
日期/时间
Date · nuysoft/Mock Wiki · GitHub
'date': '@date'
生成一个随机日期,格式为YYYY-MM-DD
。'time': '@time'
生成一个随机时间,格式为HH:mm:ss
。'datetime': '@datetime'
生成一个随机日期时间,格式为YYYY-MM-DD HH:mm:ss
。
Email IP domain等
Web · nuysoft/Mock Wiki · GitHub
'email': '@email'
生成一个随机电子邮件地址。
基础数据
Basic · nuysoft/Mock Wiki · GitHub
如布尔,整数,自然数,浮点数,字符,字符串,类似python中的range简单数组。