如何为json数组创建`random`增值对象?

时间:2017-04-18 04:29:14

标签: javascript jquery json random

根据客户点击50100500,我需要创建随机json个对象。我不知道如何创建随机对象以适应我的json要求。

我知道我们通常会创建数字或字符串,但是如何创建一个孔json对象呢?

这是我需要随机化用户选项的对象:

{
    "deviceType": "Kiosi 891,891W Integrated Services Router G2",
    "label": "WAN-EDGE - MOCK1",
    "ip": "192.168.10.2",
    "softwareVersion": "15.1(4)M2",
    "nodeType": "device",
    "family": "Routers",
    "platformId": "CISCO891W-AGN-A-K9",
    "tags": [

    ],
    "role": "BORDER ROUTER",
    "roleSource": "AUTO",
    "customParam": {

    },
    "additionalInfo": {
      "macAddress": "44:d3:ca:1e:72:34"
    },
    "id": "373ce7a8-8843-43ac-879a-283f21abfed1"
}

任何人都可以帮我随机化所有符合文本或数字长度的字段。

先谢谢。

2 个答案:

答案 0 :(得分:0)

下面的内容会有所帮助吗? http://www.json-generator.com/

快速展示

样本定义:定义重复(n)到您可能需要的随机对象数。

[
  '{{repeat(1)}}',
  {
    deviceType: function (tags) {
      var routers = ['Router G1', 'Router G2'];
      return routers[tags.integer(0, routers.length - 1)];
    },
    label: function (tags) {
      var labels = ['Label 1', 'Label 2'];
      return labels[tags.integer(0, labels.length - 1)];
    },
    ip: '{{integer(1, 255)}}.{{integer(1, 255)}}.{{integer(1, 255)}}.{{integer(1, 255)}}',
    softwareVersion: '15.1(4)M2',
    nodeType: 'device',
    family: 'Routers',
    platformId: 'CISCO {{integer(100, 999)}} W-AGN-A-K{{integer(1, 9)}}',
    tags: [
      '{{repeat(3)}}',
      '{{lorem(1, "words")}}'
    ]
  }
]

答案 1 :(得分:0)

你想完全随意吗?我有它!

class RandomObject {
    constructor(maxFieldsCount) {
        var count = Math.floor(Math.random() * (maxFieldsCount + 1));
        for (var i = 0; i < count; i++) {
            this[this.guid()] = this.guid();
        }
    }

    guid(): string {
        var s4 = () => Math.floor((1 + Math.random()) * 0x10000)
            .toString(16)
            .substring(1);
        return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
            s4() + '-' + s4() + s4() + s4();
    }
}