亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js按條件生成隨機json:randomjson實現(xiàn)方法

 更新時間:2017年04月07日 08:21:54   投稿:jingxian  
下面小編就為大家?guī)硪黄猨s按條件生成隨機json:randomjson實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前端開發(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ù)的時候特別有用

github地址:

https://github.com/finance-sh/randomjson

如何使用

# randomjson

根據(jù)條件生成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": "北京市海淀區(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
            }
          ]
        }
      ]
    }
  }

## 詞法

   以<@開始,以>結束,中間內(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ù)字轉字符串

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

### 量詞定義注意點

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

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

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

github地址:

https://github.com/finance-sh/randomjson

以上這篇js按條件生成隨機json:randomjson實現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 如何使用electron-builder及electron-updater給項目配置自動更新

    如何使用electron-builder及electron-updater給項目配置自動更新

    這篇文章主要介紹了如何使用electron-builder及electron-updater給項目配置自動更新,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • redux處理異步action解決方案

    redux處理異步action解決方案

    這篇文章主要介紹了redux處理異步action解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • 利用JS判斷客戶端類型你應該知道的四種方法

    利用JS判斷客戶端類型你應該知道的四種方法

    這篇文章主要給大家總結介紹了關于利用JS判斷客戶端類型的四種方法,比如通過通過判斷瀏覽器的userAgent、檢查是否是移動端(Mobile)、ipad、iphone、微信、QQ等的方法,需要的朋友可以參考借鑒,下面
    2017-12-12
  • Ajax提交與傳統(tǒng)表單提交的區(qū)別說明

    Ajax提交與傳統(tǒng)表單提交的區(qū)別說明

    本篇文章主要是對Ajax提交與傳統(tǒng)表單提交的區(qū)別進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • JavaScript實現(xiàn)星級評價效果

    JavaScript實現(xiàn)星級評價效果

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)星級評價效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • bootstrap日期控件問題(雙日期、清空等問題解決)

    bootstrap日期控件問題(雙日期、清空等問題解決)

    這篇文章主要介紹了bootstrap日期控件(雙日期、清空等問題解決)相關知識,需要的朋友可以參考下
    2017-04-04
  • JavaScript的Proxy可以做哪些有意思的事兒

    JavaScript的Proxy可以做哪些有意思的事兒

    這篇文章主要介紹了JavaScript的Proxy可以做哪些有意思的事兒,Proxy是ES6中提供的新的API,可以用來定義對象各種基本操作的自定義行為 (在文檔中被稱為traps,我覺得可以理解為一個針對對象各種行為的鉤子),,需要的朋友可以參考下
    2019-06-06
  • js實現(xiàn)內(nèi)置計時器

    js實現(xiàn)內(nèi)置計時器

    這篇文章主要為大家詳細介紹了js實現(xiàn)內(nèi)置計時器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 用 js 寫一個 js 解釋器過程詳解

    用 js 寫一個 js 解釋器過程詳解

    這篇文章主要介紹了用 js 寫一個 js 解釋器過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 如何使用JavaScript快速創(chuàng)建一個1到100的數(shù)組

    如何使用JavaScript快速創(chuàng)建一個1到100的數(shù)組

    平時寫代碼時,我們會生產(chǎn)一些測試用的數(shù)組數(shù)據(jù),比如[1,100]的數(shù)組值,下面這篇文章主要給大家介紹了關于如何使用JavaScript快速創(chuàng)建一個1到100數(shù)組的相關資料,需要的朋友可以參考下
    2022-08-08

最新評論