前端将xml格式数据转换成json格式数据的数据处理

使用插件:x2js
在这里插入图片描述

 this.$request('PROPFIND', url, headers, body).then( res => {
        var basicData = this.$x2js.xml2js(res.body).multistatus.response;
        console.log('原始数据',basicData)
        let detailDate = [];
        basicData.forEach( i => {
          let propObj = i.propstat[0].prop;
          let obj = {};
          for(var j in propObj) {
            if (propObj[j].__text !== undefined) {
              obj[j] = propObj[j].__text;
              switch(j) {
                case "getlastmodified":
                    var d = new Date(propObj[j].__text);
                    var time = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
                    obj[j] = time;
                    break;
                case "size":
                    var s = propObj[j].__text/1024/1024;
                    if (s == 0) {
                      obj[j] = s + "MB";
                    } else {
                      obj[j] = s.toFixed(1) + "MB";
                    }
                    break;
                default:
                    obj[j] = propObj[j].__text;
              }
            }
          }
          obj.href = decodeURI(i.href.__text);
          detailDate.push(obj);
        })
        
        this.tableData = [];
        detailDate.forEach ( (i, index)=> {
          i.id = index+9999;
          i.source = i["owner-display-name"];
          i.date = i.getlastmodified;
          
          if (i.href != path) {
            let hrefArr = i.href.split("/");
            let len = hrefArr.length - 1;
            let baseName = hrefArr[len];
            if (baseName === "") {
              let folderName = hrefArr[len - 1];
              switch(folderName) {
                case ".PublicGroupFolderDoNotDeletecbe098b179c3d43a327230407fc04534": // 公共空间
                    break;
                case ".e91e6348157868de9dd8b25c81aebfb9": // 保险箱
                    break;
                case ".ExternalStorage8062f970c2741dca6dfb3f6e10f87768": // 外置存储
                    break;
                case ".DownloadsDoNotDeletebb6805ee45f87716ec7b5c40dcdfc9e0": // 离线下载
                    break;
                default:
                    i.name = folderName;
                    this.tableData.unshift(i);
              }
            } else {
              i.name = baseName;
              this.tableData.push(i);
            }
          }
        })
        console.log('处理数据',this.tableData)
      });
    },
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XMLJSON是两种常用的数据传输格式XML是可扩展标记语言(Extensible Markup Language)的缩写,它使用标记来表示数据的结构和内容。XML的解析通常包括解析器和DOM或SAX两种解析方式,其中DOM方式将整个XML文档加载到内存中,以树结构的形式表示,而SAX方式则是在解析过程中逐行读取XML文档并触发相应的事件。 JSONJavaScript对象表示法(JavaScript Object Notation)的缩写,它是一种轻量级的数据交换格式JSON使用简洁的键值对的形式来表示数据,并且易于阅读和编写。在解析JSON格式数据时,可以使用各种编程语言中提供的JSON库或框架,如Java中的Gson或FastJson。这些库可以将JSON字符串解析为对象或将对象换为JSON字符串。 XMLJSON都有各自的优缺点。XML的优点是结构清晰,可扩展性强,适用于复杂的数据结构。但是XML的缺点是冗余性较高,数据量较大,解析速度相对较慢。JSON的优点是体积小,解析速度快,适合在网络传输中使用。然而,JSON的缺点是可读性较差,不支持注释。 在项目中,XMLJSON格式数据解析常用于数据交换和传输。通过解析XMLJSON格式数据,我们可以获取并处理其中的内容,从而实现对数据的操作和分析。具体使用哪种格式取决于项目需求和技术栈的选择。例如,如果项目需要与其他系统进行数据交互,可能会使用XML格式;如果项目使用的是前端框架或后端语言支持JSON格式,那么可能会选择使用JSON格式进行数据解析。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [XMLJSON格式数据解析方法](https://blog.csdn.net/qq_35523015/article/details/81053662)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [jsonxml格式数据的解析(java代码+相关的jar包)](https://download.csdn.net/download/zdd1065493823/10335380)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [XMLJSON 解析教程](https://blog.csdn.net/weixin_44715733/article/details/114749650)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值