jQuery是一種廣泛使用的Javascript庫,它簡化了許多常見的Javascript任務(wù),其中之一就是Ajax請求和處理JSON數(shù)據(jù)。通過jQuery的$.getJSON方法,可以輕松地從服務(wù)器上獲取JSON數(shù)據(jù)并對其進行處理。以下是獲取數(shù)據(jù)的示例:
$.getJSON('example.json', function(data){ //從example.json文件中加載數(shù)據(jù),并賦給data變量 //接下來可以使用data變量來操作數(shù)據(jù),例如: var names = []; $.each(data, function(key, value){ names.push(value.name); }); console.log(names); });
而LINQ則是一種可以用于動態(tài)查詢對象的查詢語言。JSON數(shù)據(jù)的查詢可以使用json2.js庫中提供的LINQ-to-JSON功能。以下是一個示例,在此示例中,使用了從Github API獲取JSON數(shù)據(jù)的方式,然后使用LINQ-to-JSON查詢出所有Javascript庫在Github上的star數(shù),并將結(jié)果展示在頁面上。
var url = 'https://api.github.com/repositories'; $.getJSON(url, function(data){ var jsLibs = []; $.each(data, function(key, value){ if(value.language === 'JavaScript' || value.language === 'TypeScript'){ jsLibs.push(value); } }); var jsLibsSorted = Enumerable.From(jsLibs) .OrderByDescending(function(x){ return x.watchers_count; }) .ToArray(); var html = ''; $.each(jsLibsSorted, function(key, value){ html += '
在上述代碼中,通過linq.js加載linq-to-json.min.js庫,進行LINQ-to-JSON查詢。在查詢中,使用了Enumerable.From方法將jsLibs數(shù)組轉(zhuǎn)換成可查詢的枚舉對象,然后通過OrderByDescending方法按照watchers_count屬性進行降序排序。最后通過ToArray方法將查詢結(jié)果轉(zhuǎn)換成數(shù)組。