首页 > 解决方案 > 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
       }

这是我尝试过的粗略逻辑

标签: javascript

解决方案


首先,您的 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]);


推荐阅读