如何在vuejs中搜索嵌套的JSON数据?

时间:2017-12-08 19:40:43

标签: javascript json search filter vuejs2

我有嵌套的JSON数据,如:

[{"id":"1","province_id":"ABC","name":"City One"},{"id":"2","province_id":"EFG","name":"City Two"}]

我想通过province_id过滤JSON并将其放在另一个变量中。 VueJS中是否有任何解决方案,例如Vue.filter();? 我知道我们有“linq”来完成这项工作,但我不想使用它。

2 个答案:

答案 0 :(得分:4)

你正在寻找的是javascript Array的filter()函数。你应该花一些时间熟悉过滤器,以及map和reduce之类的其他东西。它可以更轻松地对您的数据进行切片和切割。

var serializedData = `[{"id":"1","province_id":"ABC","name":"City One"},{"id":"2","province_id":"EFG","name":"City Two"}]`;
var data = JSON.parse(serializedData);

var provinceAbc = data.filter(d => d.province_id === 'ABC');

该行将为您提供其省号为" ABC"

的所有对象

另外,既然你提到了" linq"在你的帖子中,filter()就像IEnumerable.Where(),而map()就像.NET Linq术语中的IEnumerable.Select()

答案 1 :(得分:1)

我认为这对你有用:

var nestedJson = `[{"id":"1","province_id":"ABC","name":"City One"},{"id":"2","province_id":"EFG","name":"City Two"}]`;
var array = JSON.parse(nestedJson);

array = array.map(e => e["province_id"]);

console.log(array);