您的位置:

关于javascript和jsonxml的信息

关于javascript和jsonxml的信息

更新:

本文目录一览:

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

在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对象

代码如下:

// Changes XML to JSON

function xmlToJson(xml) {

    // Create the return object

    var obj = {};

    if (xml.nodeType == 1) { // element

        // do attributes

        if (xml.attributes.length  0) {

        obj["@attributes"] = {};

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

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

                obj["@attributes"][attribute.nodeName] = attribute.nodeValue;

            }

        }

    } else if (xml.nodeType == 3) { // text

        obj = xml.nodeValue;

    }

    // do children

    if (xml.hasChildNodes()) {

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

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

            var nodeName = item.nodeName;

            if (typeof(obj[nodeName]) == "undefined") {

                obj[nodeName] = xmlToJson(item);

            } else {

                if (typeof(obj[nodeName].length) == "undefined") {

                    var old = obj[nodeName];

                    obj[nodeName] = [];

                    obj[nodeName].push(old);

                }

                obj[nodeName].push(xmlToJson(item));

            }

        }

    }

    return obj;

};

用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 + '';

    }

}

json和xml的区别

JOSN:JSON是结构化数据串行化的文本格式。它衍生自Javascript的对象实字,这定义在ECMAScript语言标准第三版中。JSON能够描述四种简单的类型(字符串、数字、布尔值及null)和两种结构化类型(对象及数组)。字符串(string)是零个或多个Unicode字符的序列。对象(object)是无次序的零个或多个名/值(name/value)对的集合,这里的name是string类型,value则可以是string、number、boolean、null、object或array类型。数组(array)是零个或多个value的有序序列。"object"和"array"这两个术语来自JavaScript规范。JSON的设计目标是使它成为小的、轻便的、文本的,而且是JavaScript的一个子集。

XML:XML是EXtensible

Markup

Language的缩写

XML是一种类似于HTML的标记语言

XML是用来描述数据的

XML的标记不是在XML中预定义的,你必须定义自己的标记

XML使用文档类型定义(DTD)或者模式(Schema)来描述数据

XML使用DTD或者Schema后就是自描述的语言

XML是用来存放数据的

XML不是HTML的替代品,XML和HTML是两种不同用途的语言。

HTML是与显示信息相关的,

XML则是与描述信息相关的。

“XML”是用于网络上数据交换的语言,具有与描述Web页面的“HTML”语言相似的格式。该语言有“可以利用Web浏览器进行数据确认”以及“易于生成数据”等优点,因此主要用于在企业之间,或者在企业内部更加方便地进行数据交换和利用。首先为了便于理解,下面假设有这么一种情况:某图书销售商要着手建立自己的站点,并发送书店里的品种目录和库存情况等信息。

然而,“XML”则正是能够让计算机也理解这些数据属性的技术。

如果使用XML,比如“库存目前有多少?”以及“某个作家写的书卖了多少册?”等数据就能够由计算机“自动地”掌握,并能够将这些数据与交易对象“共享”。这样一来,出版社就能够在制定今后的出版计划时参考这些数据,而且销售公司制定有效的配送计划时也将更加容易。这就必定大大有助于削减人事成本,以及提高管理效率。

当然,即便不使用XML,比如,如果能够建立一个规范的数据库,并为每个字段定义一个“书名”和“定价”等名称,计算机也能够理解。但是要想在Web上实现这一点,却要花费相当的人力和成本。在这一点上,如果是XML,由于“能够利用Web浏览器对数据进行确认“,因此只要拥有能够连接因特网的计算机和支持XML的浏览器,就不需再进行特别的投资。

使用XML,还能够将在以前的数据库中难以处理的数据转化成数据库。

XML的描述方式与HTML相同,利用被括号括起来的字符串进行描述。在HTML中,括号内所定义的都是版面(Layout)等信息。而XML则同时定义了数据的属性,比如刚才提到的图书,就是以、和等方式定义。像这样的定义方式可以自由设置。因此,甚至有不少企业自己定义XML,然后将其用于本公司内部的数据交换。自由度如此之高也是XML受到极大关注的原因之一。

但是,企业之间的数据交换才是XML的着眼点之一。因此,各公司的定义如果不规范化就无法通用。目前,以微软为主的标准化团体“Biztalk.org”和民间团体“Rosetta

Net”等都希望能针对各行业和领域制定“可以广泛利用的标志”,以减少定义XML的麻烦。

这一点在管理方面也可以说是一个巨大的可取之处

js对象和json的区别

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。JSON的规则很简单: 对象是一个无序的“名称/值”对集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“名称/值”对之间使用“,”(逗号)分隔。

它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号;

JSON只是一种数据格式(或者叫数据形式);

scriptvar obj2={};//这只是JS对象var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */var obj4={'width':100,'height':200};/*这跟JSON就更不沾边了,只是JS的对象 */var obj5={"width":100,"height":200,"name":"rose"}; /*我们可以把这个称做:JSON格式的JavaScript对象 */var str1='{"width":100,"height":200,"name":"rose"}';/*我们可以把这个称做:JSON格式的字符串 */var a=[ {"width":100,"height":200,"name":"rose"}, {"width":100,"height":200,"name":"rose"}, {"width":100,"height":200,"name":"rose"}, ]; /*这个叫JSON格式的数组,是JSON的稍复杂一点的形式 */var str2='['+ '{"width":100,"height":200,"name":"rose"},'+ '{"width":100,"height":200,"name":"rose"},'+ '{"width":100,"height":200,"name":"rose"},'+ ']' ; /* 这个叫稍复杂一点的JSON格式的字符串 *//script

JSON和JS对象区别对比表

json数据格式和xml数据格式的区别和用法是什么?

JSON与XML的区别:

1 、可读性。JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。

2、可扩展性。XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比拟的优势。

3、编码难度。XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有提供的工具。无工具的情况下,相信熟练的开发人员一样能很快的写出想要的xml文档和JSON字符串,不过,xml文档要多很多结构上的字符。

用法:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。XML可以做为一个公共的标准格式为不同格式之间提供统一接口。

数据格式(data format)是描述数据保存在文件或记录中的规则。可以是字符形式的文本格式,或二进制数据形式的压缩格式。

字符形式的文本格式占用的存贮空间多但透明度高,二进制数形式的压缩格式占用的存贮空间少但缺少透明度。

关于javascript和jsonxml的信息

本文目录一览: 1、如何在JS中实现相互转换XML和JSON 2、javascript 将xml转换为json对象 3、用javascript将json转化成xml,具体json,xml如下 4、js

2023-12-08
jsonxml和webservice,jsonxml的区别

本文目录一览: 1、java开发,json是干什么的 2、为什么很多web应用的api都用json开发,和gsoap+webservice相比,它有哪些优缺点 3、求高人解惑,webservice到底

2023-12-08
javascript简要笔记,JavaScript读书笔记

2022-11-17
关于java学习笔记良葛格的信息

2022-11-11
关于已前的学习笔记java的信息

2022-11-18
javascript一句话笔记,javascript基本语句

2022-11-16
htmljs编程笔记(html代码笔记)

本文目录一览: 1、html代码和JS代码有什么区别 2、如何在html中调用js函数 3、JavaScript学习笔记之数组基本操作示例 4、HTML5初学者笔记 5、《web前端笔记7》js字符—

2023-12-08
关于js定时查询数据库数据库数据的信息

2022-11-24
关于java基础知识笔记1的信息

2022-11-20
关于java对话框的信息

2023-01-04
关于python学习第四次笔记的信息

2022-11-08
js高级程序设计笔记14(js高级程序设计笔记14页)

本文目录一览: 1、JavaScript高级程序设计 该怎么看 2、JavaScript学习笔记之数组基本操作示例 3、JS中有关sort以及return的问题 JavaScript高级程序设计 该怎

2023-12-08
javascript入门笔记1的简单介绍

2022-11-18
关于javajsptomcatmysql的信息

本文目录一览: 1、如何在服务器上配置JSP,jsp的服务器到底怎么配置啊? 2、jsp 跟tomcat和mysql有什么联系,怎么用?越详细越好!谢谢 3、怎么用jsp连接mysql数据库 4、如何

2023-12-08
发篇java复习笔记(java课程笔记)

2022-11-09
关于java窗体保持最上的信息

2022-11-17
关于python学习笔记十三的信息

2022-11-19
关于java性能的小笔记(java代码性能分析)

2022-11-12
关于jfcio的信息

2022-11-28
关于coffeescript和javascript的信息

2022-11-11