javascript - JavaScript 中的随机对象生成器

标签 javascript object random fuzzing

我需要一个 JavaScript 中的随机对象生成器,它可以生成具有不同字段和值的各种对象。有什么想法可以找到这样的工具吗?

我需要生成具有各种复杂性的随机对象。我的目标是使用 JSON 序列化这些对象并对我的应用程序 http api 进行模糊测试。

最佳答案

function createRandomObj(fieldCount, allowNested)
{
    var generatedObj = {};

    for(var i = 0; i < fieldCount; i++) {
        var generatedObjField;

        switch(randomInt(allowNested ? 6 : 5)) {

            case 0:
            generatedObjField = randomInt(1000);
            break;

            case 1:
            generatedObjField = Math.random();
            break;

            case 2:
            generatedObjField = Math.random() < 0.5 ? true : false;
            break;

            case 3:
            generatedObjField = randomString(randomInt(4) + 4);
            break;

            case 4:
            generatedObjField = null;
            break;

            case 5:
            generatedObjField = createRandomObj(fieldCount, allowNested);
            break;
        }
        generatedObj[randomString(8)] = generatedObjField;
    }
    return generatedObj;
}

// helper functions

function randomInt(rightBound)
{
    return Math.floor(Math.random() * rightBound);
}

function randomString(size)
{
    var alphaChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var generatedString = '';
    for(var i = 0; i < size; i++) {
        generatedString += alphaChars[randomInt(alphaChars.length)];
    }

    return generatedString;
}

它将创建一个带有 X 参数的对象,所有参数都带有整数、 float 、字符串、 bool 值或空值。
我刚成功:B

关于javascript - JavaScript 中的随机对象生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2443901/

相关文章:

javascript - 随机返回三个选项之一的函数,其中所有选项都有完全相同的机会?

javascript - 条件语句是否为 JavaScript 中的变量引入了 block 作用域?

JavaScript 提示命令在 HTML 中不起作用

Javafx - 同步延迟 - 卡片翻转

javascript - 为什么在访问对象内的数组时出现未定义?

javascript - 如何仅将对象属性子集的值复制到 TypeScript 中的另一个现有对象

java - 两个随机数发生器(发牌)

javascript - Rails 4,完整日历,显示事件数组

javascript - 无法弄清楚为什么 JS 插件不起作用

Javascript坐标之间的随机数