有没有办法选择包含特定值的所有JSON对象?

时间:2017-07-18 18:07:02

标签: jquery json

假设您拥有以下JSON:

[{
    "Rarity": "Common",
    "EffectOne": "+4 ACC",
    "EffectTwo": "-1 SPD",
    "EffectThree": "",
  },
{
    "Rarity": "Common",
    "EffectOne": "+4 ACC",
    "EffectTwo": "-1 SPD",
    "EffectThree": "",
  },
{
    "Rarity": "Rare",
    "EffectOne": "+4 ACC",
    "EffectTwo": "-1 SPD",
    "EffectThree": "",
  }]

如何定位具有其中一个属性的共享值的对象,例如"Rarity": "Common"

你能做到(为了这个例子,假设这个JSON只是命名数据):data.rarity.common?或者是data.rarity("Common")。我问的原因是我实际上似乎无法在JSON jquery文档中的任何地方找到此信息,我想根据特定值在不同的地方填充数据。

1 个答案:

答案 0 :(得分:2)

你可以使用普通的JavaScript。变量common_value设置为Common作为稀有的过滤器。这是你在找什么?

var json = [{
    "Rarity": "Common",
    "EffectOne": "+4 ACC",
    "EffectTwo": "-1 SPD",
    "EffectThree": "",
  },
{
    "Rarity": "Common",
    "EffectOne": "+4 ACC",
    "EffectTwo": "-1 SPD",
    "EffectThree": "",
  },
{
    "Rarity": "Rare",
    "EffectOne": "+4 ACC",
    "EffectTwo": "-1 SPD",
    "EffectThree": "",
  }];

var common_value = "Common";
var results = [];

for(var i = 0; i < json.length; i++){
	if(json[i].Rarity === common_value){
  	results.push(json[i]);
  }
}

console.log(results);