Filtering JSON data Filtering JSON data json json

Filtering JSON data


Why not do this?

var json = JSON.parse('{"posts": [ { "title":"1", "url":"n1.png" }, { "title":"2", "url":"n2.png" }, { "title":"3", "url":"n3.png" }, { "title":"4", "url":"n4.png" }, { "title":"5", "url":"n5.png" }, { "title":"6", "url":"n6.png" }, { "title":"7", "url":"n7.png" }, { "title":"8", "url":"n8.png" }, { "title":"9", "url":"n9.png" }, { "title":"10", "url":"n10.png" }]}');var filteredJson = json.posts.filter(function (row) {  if(row.title matches your criteria) {    return true  } else {    return false;  }});

Yes, its an ES5 method but that can be shimmed quite nicely


I use Linq JS on my current project and it works really well for filtering data.

http://jslinq.codeplex.com/

var posts = [     { "title":"1", "url":"n1.png" },     { "title":"2", "url":"n2.png" },     { "title":"3", "url":"n3.png" },     { "title":"4", "url":"n4.png" },     { "title":"5", "url":"n5.png" },     { "title":"6", "url":"n6.png" },     { "title":"7", "url":"n7.png" },     { "title":"8", "url":"n8.png" },     { "title":"9", "url":"n9.png" },     { "title":"10", "url":"n10.png" }];var filteredPost = JSLINQ(posts)                   .Where(function(item){ return item.title >= "textBox1Value" && item.title <= "textBox2Value"; });


There is another solution to this: using jLinq.js (documentation), which has even more features. In this case, you can get the solution by using the following code:

var selectedPosts = jLinq.from(posts)                         .betweenEquals("title",4,8)                         .select();