zoukankan      html  css  js  c++  java
  • Json简介(转载)

    1 JSON的来历

    XML 的作用是格式化数据内容。如果我们不用XML还有什么更好的方法吗?这个答案是JSON。

    <HTML>
    <HEAD>
    <TITLE>eval example </TITLE>
    </HEAD>
    <BODY>
    <script>
     define = "{name:'Michael',email:'Michael'}";
     eval("data = "+define);
     alert("name:"+data.name);
     alert("email:"+data.email);
    </script>
    </BODY>
    </HTML> 

    如果我们在后台异步传来的文本是JavaScript的声明语句,那么不是一条eval方法就能解析了?对于解析复杂的XML,这样的效率是多么大的提高啊!

    现在就来告诉你什么是JSON:JavaScript Object Notation。

    比如要从后台载入一些通讯录的信息,如果写成XML,如下:

    <contact>
     <friend>
      <name>Michael</name>
      <email>Michael@gmail.com</email>
      <homepage>http://www.jialing.net/</homepage>
     </friend>
     <friend>
      <name>John</name>
      <email>John@gmail.com</email>
      <homepage>http://www.john.com/</homepage>
     </friend>
     <friend>
      <name>Peggy</name>
      <email>Peggy@gmail.com</email>
      <homepage>http://www.peggy.com/</homepage>
     </friend>
    </contact> 

    而写成JSON呢:

    [
    {
     name:"Michael",
     email:"17bity@gmail.com",
     homepage:"http://www.jialing.net/"
    },
    {
     name:"John",
     email:"john@gmail.com",
     homepage:"http://www.jobn.com/"
    },
    {
     name:"Peggy",
     email:"peggy@gmail.com",
     homepage:"http://www.peggy.com/"
    }

    简单的不只是表达上,最重要的是可以丢弃让人晕头转向的DOM解析了。因为只要符合JavaScript的声明规范,JavaScrip会自动帮你解析好 的。

    Ajax中使用JSON的基本方法是前台载入后台声明JavaScript对象的字符串,用eval方法来将它转为实际的对象,最后通过 DHTML更新页面信息。
    2 JSON的格式

      ·对象是属性、值对的集合。一个对象的开始于"{",结束于"}"。每一个属性名和值间用":"提示,属性间用","分隔。

      ·数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。

      ·值可以是引号里的字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。

      ·字符串的定义和C或Java基本一致。

      ·数字的定义也和C或Java基本一致。

    3 JSON VS XML

      ·可读性

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

      ·可扩展性

      XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。

      ·编码难度

      XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。

      ·解码难度

      XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。

    4 实例

    <input id="Button1" type="button" value="button" onclick="showuser();" />

     

        <script type="text/javascript" language="javascript">
        
    var userlistStr = '[{name:"Michael",email:"17bity@gmail.com",homepage:"http://www.jialing.net/"},'
                        
    + '{name:"John",email:"john@gmail.com",homepage:"http://www.jobn.com/"},'
                        
    + '{name:"Peggy",email:"peggy@gmail.com",homepage:"http://www.peggy.com/"}]' ;
        
    function
     showuser()
        {
            eval(
    "userlist="+
    userlistStr);
            alert(userlist[
    1
    ].name);
        } 

     转自:http://www.cnblogs.com/ymyglhb/archive/2008/08/08/1263619.html

  • 相关阅读:
    [考试反思]0229省选模拟34:辉光
    [考试反思]0228省选模拟33:展望
    [考试反思]0226省选模拟32:磨灭
    [考试反思]0225省选模拟31:探索
    [考试反思]0224省选模拟30:仓皇
    [考试反思]0223省选模拟29:驻足
    [考试反思]0222省选模拟28:莫返
    大概是个寒假集训总结
    [考试反思]0220省选模拟27:怪异
    [考试反思]0219省选模拟26:精准
  • 原文地址:https://www.cnblogs.com/johnwonder/p/1728781.html
Copyright © 2011-2022 走看看