前端开发中,在做前后端分离的时候,经常需要手写json数据,有3个问题特别揪心:
1,数据是写死的,不能按一定的条件随机生成长度不一,内容不一的数据
2,写数组的时候,如果有很多条,需要一条一条地写,费时费力
3,mock图片特别困难
randomjson用来根据模型随机生成json,mock json数据的时候特别有用
github地址:
https://github.com/finance-sh/randomjson
如何使用
# randomjson
根据条件生成json对应的随机json
## 如何使用
### 安装
npm install randomjson
### 用法
// 安装 npm install randomjson // 用法 // 引用包 var randomjson = require('randomjson'); // 模型 var modelJson = { "code": "00", "numberCode": "<@[10000,20000]>", "msg": "<@chinese{12,50}>", "msg2": "<@string{2,3}>", "logo": "<@image{100,100}>", "result": { "pList<@{1,3}>":[ { "indexToString": "<@index><@>", "index": "<@index>", "id": "<@[1-5]>", "price": "<@float>", "name": "公司名称<@index>", "person": "李文武<@index>", "address": "北京市海淀区西三旗", "mobile": "1<@number{10}>", "tel": "<@number{4}>-<@number{8}>", "list": [ { "auditKey": 1, "auditValue": "<@[0,1,2]>" }, { "auditKey": 2, "auditValue": "<@[0,1,2]>" } ] } ] } } // 根据模型生成json var myJson = randomjson(modelJson); 根据上边模型生成的json可能是这样: { "code": "00", "numberCode": 10000, "msg": "加义为边平压你治提用根治问求只或程干立农资特", "msg2": "dv", "logo": "https://dummyimage.com/100x100", "result": { "pList": [ { "indexToString": "1", "index": 1, "id": 2, "price": 93.78, "name": "公司名称1", "person": "李文武1", "address": "北京市海淀区西三旗", "mobile": "17929438781", "tel": "1148-56055642", "list": [ { "auditKey": 1, "auditValue": 0 }, { "auditKey": 2, "auditValue": 1 } ] }, { "indexToString": "2", "index": 2, "id": 5, "price": 29.49, "name": "公司名称2", "person": "李文武2", "address": "北京市海淀区西三旗", "mobile": "17826945504", "tel": "7298-46226026", "list": [ { "auditKey": 1, "auditValue": 0 }, { "auditKey": 2, "auditValue": 0 } ] } ] } }
## 词法
以<@开始,以>结束,中间内容是randomjson的词法
## 模型定义
### 数据类型
"<@number>": number类型
"<@string>": string类型
"<@null>": null
"<@boolean>": boolean类型
"<@chinese>": 中文字符串
"<@float{number1,number2}>": 浮点数 number1代表整数位数,number2代表小数位数,默认都为2
"<@image{width,height}>": 生成图片 width为生成图片宽度,height为生成图片高度,默认为400,400
"<@index>": 元素在数组中的位置,从1开始
### 量词
{minNumber, maxNumber}: minNumber到maxNumber个
{minNumber,}: 最少minNumber
{number}: number个
如果是float,minNumber, maxNumber表示整数部分和小数部分的位数
如果是imgae,minNumber, maxNumber表示图片宽度高度
### 随机生成其中之一
你可以使用“|” 分离多个选项,随机值是其中之一,值为字符串
### 数字范围
[1,2,3] 表示1,2,3中的一个,值为数字
[1-90] 表示1到90中的一个int值,值为数字
### 数字转字符串
在number类型后加空的占位符
"indexToString": "<@index><@>"
### 量词定义注意点
值为非数组时,长度在value字符串里,例如:"ret": "<@number{4}>"
值为数组时,长度在key里,例如:
"p11<@{2,5}>": [{ "p8": "12312", "p9": ["<@string{4,7}>"], "p10": "<@string>" }]
github地址:
https://github.com/finance-sh/randomjson
以上这篇js按条件生成随机json:randomjson实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
js按条件生成随机json
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
- 魔兽世界wlk暗牧一键输出宏是什么 wlk暗牧一键输出宏介绍
- 群星.1996-红不让台语原唱2辑【福和唱片】【WAV+CUE】
- 郭书瑶.2009-爱的抱抱(EP)【种子音乐】【FLAC分轨】
- 郑瑞芬.1989-BE.MY.BABY【现代】【WAV+CUE】
- 花钱请人每周放30万只不咬人的蚊子 防治登革热传播
- 饭制《第一后裔》丧尸版弗蕾娜
- 贝克汉姆亲临!2024FC品类游戏嘉年华圆满落幕
- 「命轨爻错之翼」风之翼发放说明
- 《原神》前瞻特别节目回顾长图
- 米游币抽抽乐-原神专场现已开启!
- 黑鸭子2001《风情中国HQCD》[日本版][WAV+CUE]
- 陈杰洲1990-成人礼[滚石][WAV+CUE]
- MarkAanderud-HandsFree(2024)[24-44,1]FLAC
- 孙露《观心》1:1母盘直刻限量版[低速原抓WAV+CUE][361M]
- 钟志刚《汽车DJ玩主》[低速原抓WAV+CUE][1G]