如何使用Javascript将JSON响应下载到Excel?
我没有使用ajax的经验。我遇到了一个问题,我需要一个按钮将表单数据发布到url(API),该url会给出json响应,如下所示:如何使用Javascript将JSON响应下载到Excel?,javascript,html,json,ajax,Javascript,Html,Json,Ajax,我没有使用ajax的经验。我遇到了一个问题,我需要一个按钮将表单数据发布到url(API),该url会给出json响应,如下所示: { "employee": { "name": "sonoo", "salary": 56000, "married": true } } 现在按下提交按钮应该可以选择将上面的json响应下载到excel?有谁能帮助我或指导我该学些
{
"employee": {
"name": "sonoo",
"salary": 56000,
"married": true
}
}
现在按下提交按钮应该可以选择将上面的json响应下载到excel?有谁能帮助我或指导我该学些什么来解决这个问题吗?如果你已经有了JSON代码,你可以阅读以下答案: 如果需要将其转换为CSV文件,可以使用此文件手动转换:
如果您确实需要使用JavaScript将JSON代码转换为CSV,我认为这个答案会有所帮助:。首先,您需要学习如何使用AJAX发送请求和接收响应。当您知道如何正确接收AJAX响应时,可以执行以下操作以将JSON响应下载为Excel文件:
- 您可以使用Blob和URL.createObjectURL()创建链接以将响应下载为文件
函数下载(){
var jsonResponse='{“雇员”:{“姓名”:“索诺”,“工资”:56000,“已婚”:true}';
如果(确认('将响应下载到Excel文件?')){
var fileName=“”;
var columnNames=[];
var记录=[];
var responseExcel=“”;
var jsObject=JSON.parse(jsonResponse);
for(jsObject中的var键){
文件名=键+“.csv”;
if(jsObject.hasOwnProperty(键)){
for(jsObject[key]中的var key2){
columnNames.push(键2);
if(jsObject[key].hasOwnProperty(key2)){
records.push(jsObject[key][key2]);
}
}
}
}
responseExcel=columnNames.join(“;”)+“\n”;
responseExcel+=记录。连接(“;”);
var blob=new blob([responseExcel],{type:“text/plain”});
var url=url.createObjectURL(blob);
var a=document.createElement('a');
a、 href=url;
a、 下载=文件名;
a、 textContent=“下载”+文件名;
document.getElementById('json').appendChild(a);
}否则{
//做点别的。。。
}
}
我的页面
一些段落
提交