Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript将JSON响应下载到Excel?_Javascript_Html_Json_Ajax - Fatal编程技术网

如何使用Javascript将JSON响应下载到Excel?

如何使用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?有谁能帮助我或指导我该学些

我没有使用ajax的经验。我遇到了一个问题,我需要一个按钮将表单数据发布到url(API),该url会给出json响应,如下所示:

{  
    "employee": {  
        "name":       "sonoo",   
        "salary":      56000,   
        "married":    true  
       }  
   } 

现在按下提交按钮应该可以选择将上面的json响应下载到excel?有谁能帮助我或指导我该学些什么来解决这个问题吗?

如果你已经有了JSON代码,你可以阅读以下答案:

如果需要将其转换为CSV文件,可以使用此文件手动转换:


如果您确实需要使用JavaScript将JSON代码转换为CSV,我认为这个答案会有所帮助:。

首先,您需要学习如何使用AJAX发送请求和接收响应。当您知道如何正确接收AJAX响应时,可以执行以下操作以将JSON响应下载为Excel文件:

  • 您可以使用BlobURL.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);
}否则{
//做点别的。。。
}
}
我的页面
一些段落

提交