首页 > 解决方案 > 从 JSON 模式中的特定属性中仅选择一个随机键值对

问题描述

如何从给定的 JSON 模式中获取新的 JSON 模式,其中只有一个从“属性”属性中随机选择的键值对。它还应该具有“title”和“type”属性。

{ "title": "animals object",
  "type": "object",
  "properties": {
     'cat': 'meow',
     'dog': 'woof',
     'cow': 'moo',
     'sheep': 'baaah',
     'bird': 'tweet'
  }
};

标签: javascriptjson

解决方案


首先,您可以获得一个 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);


推荐阅读