這篇文章將為大家詳細講解有關js如何按條件生成隨機json:randomjson,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

前端開發中,在做前后端分離的時候,經常需要手寫json數據,有3個問題特別揪心:
1,數據是寫死的,不能按一定的條件隨機生成長度不一,內容不一的數據
2,寫數組的時候,如果有很多條,需要一條一條地寫,費時費力
3,mock圖片特別困難
randomjson用來根據模型隨機生成json,mock json數據的時候特別有用
如何使用
# 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>"
}]關于“js如何按條件生成隨機json:randomjson”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
另外有需要云服務器可以了解下創新互聯建站www.js-pz168.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:js如何按條件生成隨機json:randomjson-創新互聯
URL鏈接:http://www.js-pz168.com/article0/dgojoo.html
成都網站建設公司_創新互聯,為您提供自適應網站、網站改版、面包屑導航、虛擬主機、定制網站、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯