js将json文件转xml文件,json文件转换成excel

本文目录一览:

用javascript将json转化成xml,具体json,xml如下

// 针对你的业务写的,试试看

function json2xml(obj) {

    return _json2xml(‘xml’, obj).replace(‘xml’, ‘?xml version=”1.0″ encoding=”UTF-8″ ?’);

    function _json2xml(key, obj) {

        var xml = ”;

        if (Array.isArray(obj)) {

            for (var i = 0; i  obj.length; ++i) {

                xml += _json2xml(key, obj[i]);

            }

            return xml;

        } else if (typeof obj === ‘object’) {

            for (var _key in obj) {

                xml += _json2xml(_key, obj[_key]);

            }

            return _concat(key, xml);

        } else {

            return _concat(key, obj);

        }

    }

    function _concat(key, item) {

        return ” + key + ” + item + ‘/’ + key + ”;

    }

}

vue中引入x2js(针对xml、json数据进行转换处理)

源地址:

由于使用到了该块功能,阅读了上面文章进行开发的过程中遇到了问题,所以重新编写内容,以供参考。

GitHub开源库,地址:

将项目从GitHub上Clone下来,解压后得到xml2json.js

将xml2json.js放置在项目静态资源目录下

定义了两个框框,input和output。将json数据放入input中,通过按钮调用方法,再由output输出xml数据。

按钮

方法

成功将json转为xml。

如何在JS中实现相互转换XML和JSON

JSON与XML的区别比较

1.定义介绍

(1).XML定义

扩展标记语言 (Extensible Markup Language, XML)

,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。

XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

(2).JSON定义

JSON(JavaScript Object

Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C,

C++, C#, Java, JavaScript, Perl, Python等)体系的行为。这些特性使JSON成为理想的数据交换语言。

JSON基于JavaScript Programming Language , Standard ECMA-262 3rd Edition – December 1999 的一个子集。

2.XML和JSON优缺点

(1).XML的优缺点

1.XML的优点

A.格式统一,符合标准;

B.容易与其他系统进行远程交互,数据共享比较方便。

2.XML的缺点

A.XML文件庞大,文件格式复杂,传输占带宽;

B.服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;

C.客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;

D.服务器端和客户端解析XML花费较多的资源和时间。

(2).JSON的优缺点

1.JSON的优点:

A.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小;

B.易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取;

C.支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服务器端语言,便于服务器端的解析;

D.在PHP世界,已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用,PHP服务器端的对象、数组等能直接生成JSON格式,便于客户端的访问提取;

E.因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护。

2.JSON的缺点

A.没有XML格式这么推广的深入人心和喜用广泛,没有XML那么通用性;

B.JSON格式目前在Web Service中推广还属于初级阶段。

在Javascript中实现XML和JSON相互转换

先看调用例子:

复制代码 代码如下:

viewport id=”menuPane” layout=”border”

panel region=”center” border=”0″ layout=”border”

tbar

toolbar text=”XXXX”

menu

text text=”11″

/text

text text=”22″

/text

text text=”33″

/text

/menu

/toolbar

toolbar text=”XXXX”

menu

text text=”44″

/text

text text=”55″

/text

menu

text text=”6 6″

/text

/menu

text text=”77″

/text

/menu

/toolbar

/tbar

/panel

/viewport

var xmlParser = new XmlToJson();

var json = xmlParser.parse(xml);

console.log( JSON.stringify(json) );

var jsonParser = new JsonToXml();

var xml = jsonParser.parse(json);

console.log( xml );

XML转换为JSON:

复制代码 代码如下:

function XmlToJson() {

}

XmlToJson.prototype.setXml = function(xml) {

if(xml typeof xml == “string”) {

this.xml = document.createElement(“div”);

this.xml.innerHTML = xml;

this.xml = this.xml.getElementsByTagName(“*”)[0];

}

else if(typeof xml == “object”){

this.xml = xml;

}

};

XmlToJson.prototype.getXml = function() {

return this.xml;

};

XmlToJson.prototype.parse = function(xml) {

this.setXml(xml);

return this.convert(this.xml);

};

XmlToJson.prototype.convert = function(xml) {

if (xml.nodeType != 1) {

return null;

}

var obj = {};

obj.xtype = xml.nodeName.toLowerCase();

var nodeValue = (xml.textContent || “”).replace(/(\r|\n)/g, “”).replace(/^\s+|\s+$/g, “”);

if(nodeValue xml.childNodes.length == 1) {

obj.text = nodeValue;

}

if (xml.attributes.length 0) {

for (var j = 0; j xml.attributes.length; j++) {

var attribute = xml.attributes.item(j);

obj[attribute.nodeName] = attribute.nodeValue;

}

}

if (xml.childNodes.length 0) {

var items = [];

for(var i = 0; i xml.childNodes.length; i++) {

var node = xml.childNodes.item(i);

var item = this.convert(node);

if(item) {

items.push(item);

}

}

if(items.length 0) {

obj.items = items;

}

}

return obj;

};

JSON转换为XML:

复制代码 代码如下:

function JsonToXml() {

this.result = [];

}

JsonToXml.prototype.spacialChars = [“”,””,””,”\””,”‘”];

JsonToXml.prototype.validChars = [“”,””,””,”””,”‘”];

JsonToXml.prototype.toString = function(){

return this.result.join(“”);

};

JsonToXml.prototype.replaceSpecialChar = function(s){

for(var i=0;ithis.spacialChars.length;i++){

s=s.replace(new RegExp(this.spacialChars[i],”g”),this.validChars[i]);

}

return s;

};

JsonToXml.prototype.appendText = function(s){

s = this.replaceSpecialChar(s);

this.result.push(s);

};

JsonToXml.prototype.appendAttr = function(key, value){

this.result.push(” “+ key +”=\””+ value +”\””);

};

JsonToXml.prototype.appendFlagBeginS = function(s){

this.result.push(“”+s);

};

JsonToXml.prototype.appendFlagBeginE = function(){

this.result.push(“”);

};

JsonToXml.prototype.appendFlagEnd = function(s){

this.result.push(“/”+s+””);

};

JsonToXml.prototype.parse = function(json){

this.convert(json);

return this.toString();

};

JsonToXml.prototype.convert = function(obj) {

var nodeName = obj.xtype || “item”;

this.appendFlagBeginS(nodeName);

var arrayMap = {};

for(var key in obj) {

var item = obj[key];

if(key == “xtype”) {

continue;

}

if(item.constructor == String) {

this.appendAttr(key, item);

}

if(item.constructor == Array) {

arrayMap[key] = item;

}

}

this.appendFlagBeginE();

for(var key in arrayMap) {

var items = arrayMap[key];

for(var i=0;iitems.length;i++) {

this.convert(items[i]);

}

}

this.appendFlagEnd(nodeName);

};

以上就是为大家整理的在Javascript中实现XML和JSON相互转换,希望本文所述对大家学习javascript有所帮助。

原创文章,作者:FNBY,如若转载,请注明出处:https://www.506064.com/n/141305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
FNBYFNBY
上一篇 2024-10-04 00:18
下一篇 2024-10-04 00:18

相关推荐

  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常问题的解决

    本文旨在解决vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常的问题,提供完整的代码示例供参考。 一、分析问题 首先,需了解vue中下载文件的情况。一般情况下,我们…

    编程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件并生成完整的图像

    OBJ格式是一种用于表示3D对象的标准格式,通常由一组顶点、面和纹理映射坐标组成。在本文中,我们将讨论如何将多个OBJ文件拼接在一起,生成一个完整的3D模型。 一、读取OBJ文件 …

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • 为什么用cmd运行Java时需要在文件内打开cmd为中心

    在Java开发中,我们经常会使用cmd在命令行窗口运行程序。然而,有时候我们会发现,在运行Java程序时,需要在文件内打开cmd为中心,这让很多开发者感到疑惑,那么,为什么会出现这…

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • Python将矩阵存为CSV文件

    CSV文件是一种通用的文件格式,在统计学和计算机科学中非常常见,一些数据分析工具如Microsoft Excel,Google Sheets等都支持读取CSV文件。Python内置…

    编程 2025-04-29
  • Python zipfile解压文件乱码处理

    本文主要介绍如何在Python中使用zipfile进行文件解压的处理,同时详细讨论在解压文件时可能出现的乱码问题的各种解决办法。 一、zipfile解压文件乱码问题的根本原因 在P…

    编程 2025-04-29
  • Python如何导入py文件

    Python是一种开源的高级编程语言,因其易学易用和强大的生态系统而备受青睐。Python的import语句可以帮助用户将一个模块中的代码导入到另一个模块中,从而实现代码的重用。本…

    编程 2025-04-29
  • Python合并多个相同表头文件

    对于需要合并多个相同表头文件的情况,我们可以使用Python来实现快速的合并。 一、读取CSV文件 使用Python中的csv库读取CSV文件。 import csv with o…

    编程 2025-04-29

发表回复

登录后才能评论