A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 郑传庆 于 2012-6-8 11:21 编辑

JSON与XML解析有什么异同?在功能使用上是一样的吗?刚接触不是很懂,求解。

评分

参与人数 1技术分 +1 收起 理由
赵志勇 + 1

查看全部评分

6 个回复

倒序浏览
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后就是自描述的语言

评分

参与人数 1技术分 +1 收起 理由
赵志勇 + 1

查看全部评分

回复 使用道具 举报
区别如上所说
回复 使用道具 举报
曹昌 发表于 2012-6-8 00:21
JOSN:

JSON是结构化数据串行化的文本格式。它衍生自Javascript的对象实字,这定义在ECMAScript语言标准第 ...


JSON是不是就是可以说是解析字节或者字符之类的值?
那XML是不是可以用来解析HTML啊。:dizzy:可以不可以举个例子来?有点混,看来我还是得好好去找资料学习学习
回复 使用道具 举报
XML不是HTML的替代品,XML和HTML是两种不同用途的语言。

XML是被设计用来描述数据的,重点是:什么是数据,如何存放数据。

HTML是被设计用来显示数据的,重点是:显示数据以及如何显示数据更好上面。

HTML是与显示信息相关的, XML则是与描述信息相关的。

“XML”是用于网络上数据交换的语言,具有与描述Web页面的“HTML”语言相似的格式。该语言有“可以利用Web浏览器进行数据确认”以及“易于生成数据”等优点,因此主要用于在企业之间,或者在企业内部更加方便地进行数据交换和利用。

举例:
某图书销售商要着手建立自己的站点,并发送书店里的品种目录和库存情况等信息。
回复 使用道具 举报
本帖最后由 赵兵锋 于 2012-6-8 09:55 编辑

看看实际应用中的使用不同吧
AJAX-XML:
服务器端
  1.                 out.println("<response>");
  2.                         for (Category c : list) {
  3.                                 out.println("<category><categoryid>" + c.getId()
  4.                                                 + "</categoryid><categoryname>" + c.getName()
  5.                                                 + "</categoryname></category>");
  6.                         }
  7.                         out.println("</response>");
复制代码
在客户端收到的是下面这样的数据
  1. <response>
  2.                                 <category>
  3.                                         <categoryid>1</categoryid>
  4.                                         <categoryname>类别1</categoryname>
  5.                                 </category>
  6.                                 <category>
  7.                                         <categoryid>2</categoryid>
  8.                                         <categoryname>类别2</categoryname>
  9.                                 </category>
  10. </response>
复制代码
AJAX-JSON:
服务器端:
  1.     response.setContentType("application/json;charset=gb18030");
  2.                 ArrayList<Person> list = new ArrayList<Person>();
  3.                 list.add(new Personn("张三",22));
  4.                 list.add(new Personn("李四",21));
  5.                 PrintWriter out = response.getWriter();
  6.                 Gson gson = new Gson();
  7.                 String json = gson.toJson(list);
  8.                 out.print(json);
  9.                 out.flush();
复制代码
客户端收到的数据如下:
[{name:"张三";age:22},{name:"李四";age:21}]
客户端解析(jquery):
  1.     $.post("/JiaoWu/SearchCourses",
  2.     {
  3.                     "a":"1"
  4.     },function(returnedData,status){
  5.                 for(var i=0;i<returnedData.length;i++){
  6.                         alert(returnedData[i].name+","+returnedData[i].age);
  7.                              }
  8.     }
  9.     );
复制代码
回复 使用道具 举报
本帖最后由 郑传庆 于 2012-6-8 11:22 编辑

谢谢大家,问题已解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马