360 JSON是一種輕量級數(shù)據(jù)交換格式,可在Web應用程序和客戶端之間交換數(shù)據(jù)。與XML相比,JSON更易于使用和閱讀,并且更適合用于客戶端和服務器之間的數(shù)據(jù)交換。除了傳遞數(shù)據(jù)之外,JSON還可以用于通過AJAX從服務器下載文件。
function downloadFile(){ var url='http://example.com/file.zip'; var xhr=new XMLHttpRequest(); xhr.open('GET',url,true); xhr.responseType='blob'; xhr.onload=function(e){ if(this.status==200){ var blob=new Blob([this.response],{type:'application/zip'}); var reader=new FileReader(); reader.readAsDataURL(blob); reader.onload=function(e){ var a=document.createElement('a'); a.download='file.zip'; a.href=e.target.result; document.body.appendChild(a); a.click(); } } }; xhr.send(); }
在代碼中,我們使用XMLHttpRequest對象發(fā)起GET請求來獲取文件。我們將返回類型設置為二進制對象,然后將響應傳遞到一個新的Blob對象。隨后,我們使用FileReader對象將Blob轉換為數(shù)據(jù)URL。在下載前,我們需要創(chuàng)造一個新的元素并附加到元素中,然后將其觸發(fā)點擊事件即可將數(shù)據(jù)URL鏈接到一個下載按鈕上。
總之,JSON可用于Web應用程序和客戶端之間的數(shù)據(jù)傳遞和文件下載等任務。此外,開發(fā)人員還可以利用JSON的易用性和精簡性,來提高網(wǎng)站性能和用戶體驗。