javascript - Javascript 中的 JSON 帮助
问题描述
我有一个像这样的Json
{
"a" :[
{
"a1" : {
"state" : "co"
}
},
"b1" : {
"state" : "ma"
}
]
}
我想编写一个 JS 函数,它会随机选择 a1 或 b1 并为其提供状态。谢谢!
data = require('../data.json')
it('should get random', function () {
random = this.getrandom(Object.keys(data))
console.log(Object.keys(productDataSet)[random].uri)
}
this.getrandom(keys)
{
len = keys.length
var randNum = getRandomArbitrary(0, len);
return randNum
}
这是我尝试过的粗略逻辑
解决方案
首先,您的 JSON 无效。
更正后,您可以检索数组,并使用Math.random()生成 0 和数组大小之间的随机索引。
然后从您的数组中获取该随机条目:
let jsonData = `{
"a": [{
"a1": {
"state": "co"
}
},
{
"b1": {
"state": "ma"
}
}
]
}`;
let yourObject = JSON.parse(jsonData);
let yourArray = yourObject.a;
function random(max) {
return Math.floor(Math.random() * max);
}
let randomIndex = random(yourArray.length);
console.log("Random value : ", yourArray[randomIndex]);
推荐阅读
- laravel - 无法使用 Nginx 远程服务器接收来自 PUT 和 DELETE 方法的响应
- wordpress - 在 wordpress 网站上创建一个外部链接,将用户名作为查询字符串参数传递
- php - 在 PHP 中有或没有 $this
- php - Wordpress 插件 - 未找到选项页面
- java - 在java中使用lambda对对象列表进行分组
- plot - 最大值绘制具有 3 列的离散数据
- excel - 无需打开文件即可检索数据的 VBA Excel 代码
- c - 如何在cc中使用EOF作为主要读取
- kotlin - 通过导入 Kotlin DSL 创建 TeamCIty 项目
- java - Mockito 验证不适用于间谍对象