首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角JS JSON2CSV

角JS JSON2CSV
EN

Stack Overflow用户
提问于 2016-10-13 13:31:54
回答 1查看 271关注 0票数 0

当我试图将ng表中的筛选数据下载到CSV时,我将将单行拆分为两行。

输出将类似于下面的

Row1包含三列

代码语言:javascript
复制
Item 1 | 12222-12228-14567-124568-18680-20940-18717-ABCDED-sdf_dsfsdf | X-Large

相反,我得到了

第1行

代码语言:javascript
复制
Item 1 | 12222-12228-14567-124568-18680-20940-18717-ABCDED-sdf_dsfsdf |

第二行

代码语言:javascript
复制
X-Large

这是我的密码

代码语言:javascript
复制
var data = [{ "name": "Item 1", "color": "12222-12228-14567-124568-18680-20940-18717-ABCDED-aSFDasdf_sdfsdf_dsfsdf", "size": "X-Large" },
     { "name": "Item 2", "color": "Green", "size": "X-Large" },
     { "name": "Item 3", "color": "Green", "size": "X-Large" }];

$scope.downloadData = function (data){
       var csv = $scope.JsonToCsv(data);         
}

$scope.JsonToCsv = function(objArray) {
var array = typeof objArray != 'object' ? JSON.parse(objArray) :objArray;
        var str = '';
        var line = '';
        var head = array[0];
        for (var index in array[0]) {
            var value = index + "";
            line += '"' + value.replace(/"/g, '""') + '",';
        }
        line = line.slice(0, -1);
        str += line + '\r\n';
        for (var i = 0; i < array.length; i++) {
            var line = '';
            for (var index in array[i]) {
                line += array[i][index] + ',';
            }
            line = line.slice(0, -1);
            str += line + '\r\n';
        }
        return str;
    }

有人能帮我找出我的代码出了什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-10-13 13:48:12

我有一个工作代码为这个,我改变了根据您的需要。希望这也适用于你

代码语言:javascript
复制
            var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
            var str = '';
            var line = "";
            for (var index in array[0]) {
                line += index + ',';
            }
            line = line.slice(0, -1);
            str += line + '\r\n';
            for (var i = 0; i < array.length; i++) {
                var line = "";
                for (var index in array[i]) {
                    line += '"' + array[i][index] + '",';
                }
                line.slice(0, line.length - 1);
                str += line + '\r\n';
            }
            if (str == '') {
                alert("oops");
                return;
            }
            console.log(str);
            return str;

谢谢:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40022457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档