黑马程序员技术交流社区
标题:
JSON与XML解析有什么本质的区别(已解决)
[打印本页]
作者:
郑传庆
时间:
2012-6-7 22:25
标题:
JSON与XML解析有什么本质的区别(已解决)
本帖最后由 郑传庆 于 2012-6-8 11:21 编辑
JSON与XML解析有什么异同?在功能使用上是一样的吗?刚接触不是很懂,求解。
作者:
曹操
时间:
2012-6-8 00:21
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后就是自描述的语言
作者:
曹操
时间:
2012-6-8 00:25
区别如上所说
作者:
郑传庆
时间:
2012-6-8 00:48
曹昌 发表于 2012-6-8 00:21
JOSN:
JSON是结构化数据串行化的文本格式。它衍生自Javascript的对象实字,这定义在ECMAScript语言标准第 ...
JSON是不是就是可以说是解析字节或者字符之类的值?
那XML是不是可以用来解析HTML啊。:dizzy:可以不可以举个例子来?有点混,看来我还是得好好去找资料学习学习
作者:
曹操
时间:
2012-6-8 02:54
XML不是HTML的替代品,XML和HTML是两种不同用途的语言。
XML是被设计用来描述数据的,重点是:什么是数据,如何存放数据。
HTML是被设计用来显示数据的,重点是:显示数据以及如何显示数据更好上面。
HTML是与显示信息相关的, XML则是与描述信息相关的。
“XML”是用于网络上数据交换的语言,具有与描述Web页面的“HTML”语言相似的格式。该语言有“可以利用Web浏览器进行数据确认”以及“易于生成数据”等优点,因此主要用于在企业之间,或者在企业内部更加方便地进行数据交换和利用。
举例:
某图书销售商要着手建立自己的站点,并发送书店里的品种目录和库存情况等信息。
作者:
赵兵锋
时间:
2012-6-8 09:54
本帖最后由 赵兵锋 于 2012-6-8 09:55 编辑
看看实际应用中的使用不同吧
AJAX-XML:
服务器端
out.println("<response>");
for (Category c : list) {
out.println("<category><categoryid>" + c.getId()
+ "</categoryid><categoryname>" + c.getName()
+ "</categoryname></category>");
}
out.println("</response>");
复制代码
在客户端收到的是下面这样的数据
<response>
<category>
<categoryid>1</categoryid>
<categoryname>类别1</categoryname>
</category>
<category>
<categoryid>2</categoryid>
<categoryname>类别2</categoryname>
</category>
</response>
复制代码
AJAX-JSON:
服务器端:
response.setContentType("application/json;charset=gb18030");
ArrayList<Person> list = new ArrayList<Person>();
list.add(new Personn("张三",22));
list.add(new Personn("李四",21));
PrintWriter out = response.getWriter();
Gson gson = new Gson();
String json = gson.toJson(list);
out.print(json);
out.flush();
复制代码
客户端收到的数据如下:
[{name:"张三";age:22},{name:"李四";age:21}]
客户端解析(jquery):
$.post("/JiaoWu/SearchCourses",
{
"a":"1"
},function(returnedData,status){
for(var i=0;i<returnedData.length;i++){
alert(returnedData[i].name+","+returnedData[i].age);
}
}
);
复制代码
作者:
郑传庆
时间:
2012-6-8 10:46
本帖最后由 郑传庆 于 2012-6-8 11:22 编辑
谢谢大家,问题已解决
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2