Попробуйте что-то вроде этого:
DEMO ----> Скачать Json
download(strData, strFileName, strMimeType) {
strData = JSON.stringify(strData);
var D = document,
A = arguments,
a = D.createElement("a"),
n = A[1];
a.href = "data:" + strMimeType + "charset=utf-8," + (strData);
if ('download' in a) {
a.setAttribute("download", n);
a.innerHTML = "downloading...";
D.body.appendChild(a);
setTimeout(function () {
var e = D.createEvent("MouseEvents");
e.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e);
D.body.removeChild(a);
}, 66);
return true;
};
var f = D.createElement("iframe");
D.body.appendChild(f);
f.src = "data:" + (A[2] ? A[2] : "application/octet-stream") + (window.btoa ? ";base64" : "") + "," + (strData);
setTimeout(function () {
D.body.removeChild(f);
}, 333);
return true;
}