javascript - 从 JSON 模式中的特定属性中仅选择一个随机键值对
问题描述
如何从给定的 JSON 模式中获取新的 JSON 模式,其中只有一个从“属性”属性中随机选择的键值对。它还应该具有“title”和“type”属性。
{ "title": "animals object",
"type": "object",
"properties": {
'cat': 'meow',
'dog': 'woof',
'cow': 'moo',
'sheep': 'baaah',
'bird': 'tweet'
}
};
解决方案
首先,您可以获得一个 0-4 之间的随机数,可用于properties
随机获取密钥并使用该密钥将其添加到properties
新的 JSON 对象中:
var jsonSchema = { "title": "animals object",
"type": "object",
"properties":
{
'cat': 'meow',
'dog': 'woof',
'cow': 'moo',
'sheep': 'baaah',
'bird': 'tweet'
}
};
var newJSON = { "title": "animals object",
"type": "object",
"properties":{}
};
var randomNumber = Math.floor(Math.random() * 5);
var randomPropertyKey = Object.keys(jsonSchema.properties)[randomNumber];
newJSON.properties[randomPropertyKey] = jsonSchema.properties[randomPropertyKey];
console.log(newJSON);
推荐阅读
- flutter - 如何创建有界可滚动的 TabBarView
- python - 使用pyqt5逐步绘制的正确方法
- linux - sh shell下的数组(不是bash)
- javascript - 在 github API 上访问 github 存储库的正确端点是什么?
- python - 加入每个组中的字符串并分配回原始 DataFrame
- css - mat-prefix 用于输入而不是标签
- typescript - TypeScript Transform 查找命名函数并在外部插入代码
- neural-network - No overfitting by increasing the number of epochs
- c# - System.Collections.Generic.List`1[System.String] instead of data
- c++ - 强制编译器在未使用基类删除的复制 ctor 定义的移动构造函数上发出错误