比方说,你有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文档中的任何位置找到此信息,并且我想根据特定值在不同位置填充数据。
您的JSON一些额外的逗号。你可能没有在jQuery的文档中找到你需要的信息,因为这主要是在不需要库或框架(对象,数组,属性等)的情况下完成的,它们都是纯JS的基础。如果你想把你的数组缩小到只有“Rarity”:“Common”的对象,你有几个选项,主要是data = data.filter(x => x.Rarity ==“Common”); '[**一个例子**](https://jsfiddle.net/od78u3xo/) – Santi
Boom,非常感谢!我似乎无法找到这个信息。非常感激! – dbrree
不是问题。添加[示例](https://jsfiddle.net/od78u3xo/)来演示。另外,为了清楚起见,你无法做'data.'的原因是因为数据是一个*数组*。它没有属性,而是索引。我提供的'filter'函数简单地遍历每个项目(如'x'),并评估提供的条件('x.Rarity ==“Common”')。如果结果为'false',则从数组中删除该项目。 – Santi