js如何按條件生成隨機json:randomjson-創(chuàng)新互聯(lián)

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

10年積累的成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有米林免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

前端開發(fā)中,在做前后端分離的時候,經(jīng)常需要手寫json數(shù)據(jù),有3個問題特別揪心:

1,數(shù)據(jù)是寫死的,不能按一定的條件隨機生成長度不一,內(nèi)容不一的數(shù)據(jù)

2,寫數(shù)組的時候,如果有很多條,需要一條一條地寫,費時費力

3,mock圖片特別困難

randomjson用來根據(jù)模型隨機生成json,mock json數(shù)據(jù)的時候特別有用

如何使用

# randomjson

根據(jù)條件生成json對應(yīng)的隨機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": "北京市海淀區(qū)西三旗",
          "mobile": "1<@number{10}>",
          "tel": "<@number{4}>-<@number{8}>",
          "list": [
            {
              "auditKey": 1,
              "auditValue": "<@[0,1,2]>"
            }, 
            {
              "auditKey": 2,
              "auditValue": "<@[0,1,2]>"
            }
          ]
        }
      ]
    }
  }
  // 根據(jù)模型生成json
  var myJson = randomjson(modelJson);
  
  根據(jù)上邊模型生成的json可能是這樣:
  
  {
    "code": "00",
    "numberCode": 10000,
    "msg": "加義為邊平壓你治提用根治問求只或程干立農(nóng)資特",
    "msg2": "dv",
    "logo": "https://dummyimage.com/100x100",
    "result": {
      "pList": [
        {
          "indexToString": "1",
          "index": 1,
          "id": 2,
          "price": 93.78,
          "name": "公司名稱1",
          "person": "李文武1",
          "address": "北京市海淀區(qū)西三旗",
          "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": "北京市海淀區(qū)西三旗",
          "mobile": "17826945504",
          "tel": "7298-46226026",
          "list": [
            {
              "auditKey": 1,
              "auditValue": 0
            },
            {
              "auditKey": 2,
              "auditValue": 0
            }
          ]
        }
      ]
    }
  }

## 詞法

  以<@開始,以>結(jié)束,中間內(nèi)容是randomjson的詞法

## 模型定義

### 數(shù)據(jù)類型

  "<@number>": number類型

  "<@string>": string類型

  "<@null>": null

  "<@boolean>": boolean類型

  "<@chinese>": 中文字符串

  "<@float{number1,number2}>": 浮點數(shù) number1代表整數(shù)位數(shù),number2代表小數(shù)位數(shù),默認都為2
  
"<@image{width,height}>": 生成圖片 width為生成圖片寬度,height為生成圖片高度,默認為400,400

  "<@index>": 元素在數(shù)組中的位置,從1開始

### 量詞

  {minNumber, maxNumber}: minNumber到maxNumber個

  {minNumber,}: 最少minNumber

  {number}: number個

  如果是float,minNumber, maxNumber表示整數(shù)部分和小數(shù)部分的位數(shù)

  如果是imgae,minNumber, maxNumber表示圖片寬度高度
  
### 隨機生成其中之一

  你可以使用“|” 分離多個選項,隨機值是其中之一,值為字符串

### 數(shù)字范圍

  [1,2,3] 表示1,2,3中的一個,值為數(shù)字

  [1-90] 表示1到90中的一個int值,值為數(shù)字

### 數(shù)字轉(zhuǎn)字符串

  在number類型后加空的占位符
 
"indexToString": "<@index><@>"

### 量詞定義注意點

  值為非數(shù)組時,長度在value字符串里,例如:"ret": "<@number{4}>"

  值為數(shù)組時,長度在key里,例如:

"p11<@{2,5}>": [{
        "p8": "12312",
        "p9": ["<@string{4,7}>"],
        "p10": "<@string>"
      }]

關(guān)于“js如何按條件生成隨機json:randomjson”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站bm7419.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前標(biāo)題:js如何按條件生成隨機json:randomjson-創(chuàng)新互聯(lián)
URL鏈接:http://bm7419.com/article0/dgojoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站網(wǎng)站改版、面包屑導(dǎo)航、虛擬主機、定制網(wǎng)站網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)