Javascript数组/ JSON库

时间:2011-08-24 13:22:14

标签: javascript arrays json

基本上我需要一些库/函数集来允许我在数组上执行高级函数。

例如:

var jsondata = "SearchResponse":{ "Version":"2.0","Query":{ 
"SearchTerms":"sushi"},"Web":{ "Total":15000000,"Offset":0,"Results":[ 
{ "Title":"Sushi - Wikipedia, the free encyclopedia","Description":"In 
Japanese cuisine, sushi (寿司, 鮨, 鮓, sushi?) is vinegared rice, usually 
topped with other ingredients, including fish (cooked or uncooked) and 
vegetables.","Url":"http:\/\/en.wikipedia.org\/wiki\/Sushi","DisplayUrl
":"http:\/\/en.wikipedia.org\/wiki\/Sushi","DateTime":"2008-06-
09T06:42:34Z"}]}} /* pageview_candidate */}

var filterdata = filter(jsondata, {"Title":"Sushi - Wikipedia, the free encyclopedia"});

然后filterdata将包含jsondata中具有标题Sushi - Wikipedia, the free encyclopedia

的所有结果

3 个答案:

答案 0 :(得分:3)

看看underscore.js。您可能无法完全按照问题编写代码,但它接近它:

_.filter(jsondata.Web.Results, function (val) {
    return val.Title === "Sushi - Wikipedia, the free encyclopedia";
});

答案 1 :(得分:1)

看看PHP.js。它为JavaScript带来了PHP的力量。

答案 2 :(得分:1)

嗯,首先,jsondata是一个对象,而不是一个数组;但是jsondata.Web.Results属性是一个数组。考虑到这一点,您可以使用JavaScript Array.filter方法。

var results = jsondata.Web.Results.filter(function (value) { 
    // Return true if you want this 'value' object to appear in the 'results' Array.
    return (value.Title === "Sushi - Wikipedia, the free encyclopedia");
});

如果你想用Arrays做更认真的工作,那么包含一个Collections Framework是明智的。 JavaScript最受欢迎的是underscore.js。对集合的深刻理解将为您的编程事业带来未来的回报。