`
javawangli
  • 浏览: 221222 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Json 浅谈及解析

阅读更多

 Json 浅谈及解析

 

Json简介

     JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScriptStandard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。

 

Json优点:

  Jsonxml更轻巧,在JavaScript中处理JSON数据不需要任何特殊的API或工具包

 

Json的规则  

JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。

   规则如下:

       1)映射用冒号(“:”)表示。名称:

       2)并列的数据之间用逗号(“,”)分隔。名称1:1,名称2:2

       3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:1,名称2:2}

       4) 并列数据的集合(数组)用方括号([])表示。

         [

           {名称1:,名称2:2},

           {名称1:,名称2:2}

         ]

      5  元素值可具有的类型:string, number, object, array, true, false, null 

   了解规格后,那我们如何编写一个正规的json 

   

 

    

    Student=[

         {

           Name="wangli",

            Sex="男",

           Age=20,

            Email="wangliai@qq.com",

          },

          {

           Name="wangli",

            Sex="男",

           Age=20,

            Email="wangliai@qq.com",

          }





      ]

 

 

  这就是一个简单的json文档

 

   * 值得注意的是:

 

   JSON 用冒号(而不是等号)来赋值。每一条赋值语句用逗号分开。整个对象用大括号封装起来。可用大括号分级嵌套数据。

   对象描述中存储的数据可以是字符串,数字或者布尔值。对象描述也可存储函数,那就是对象的方法。

 

  创建json之后 我们进一步对这个json进行解析

  解释json时要注意的是

1JSON 只是一种文本字符串。它被存储在 responseText 属性中

2, 为了读取存储在 responseText 属性中的 JSON 数据,需要根据 JavaScript 的 eval 语句。函数 eval 会把一个字符串当作它的参数。然后这个字符串会被当作 JavaScript 代码来执行。因为 JSON 的字符串就是由 JavaScript 代码构成的,所以它本身是可执行的 

 如:var  students=eval(xhr.respnoseText);

3,JSON还提供了json.js包,下载http://www.json.org/json.js后,使用parseJSON()方法将字符串解析成 JS 对象 

 解释上面的json代码如下

 

 

 

<script type="text/javascript">   

    function getxhr(){

      var xhr;       

      try{

          xhr=new ActiveXObject("MicrosoftHTTP");       

      }catch (err) {

try{

xhr=new XMLHttpRequest();

}catch (er) {

alert("浏览器不支持......");

} 

          }     

    return  xhr;

    }   

    //获取ID

  function $(id){

     return document.getElementById(id);   

  }


  function jsjosn(){

    var xhr=getxhr();

    xhr.open("get","josn.jsp",true);

    xhr.send();  

    xhr.onreadystatechange=function (){     

     if(xhr.readyState==4 && xhr.status==200){

        var stues=eval("("+xhr.responseText+")");         

         var stus=$("testjosn");

           stus.innerHTML="";//清空stus中的文本

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

         var stre=document.createElement("tr");          

        var sname=document.createElement("td");

        var ssex=document.createElement("td");

        var sage=document.createElement("td");

        var semail=document.createElement("td");

           //添加姓名

        sname.appendChild(document.createTextNode(stues[i].name))

           //添加性别

        ssex.appendChild(document.createTextNode(stues[i].sex))

            //添加年龄

        sage.appendChild(document.createTextNode(stues[i].age))

             //添加邮箱

        semail.appendChild(document.createTextNode(stues[i].email))      

       stre.appendChild(sname);

       stre.appendChild(ssex);

       stre.appendChild(sage);

       stre.appendChild(semail);      

       stus.appendChild(stre);          

       }     

    }

  }     

  }


</script>

  </head>

  

  <body>

  <div align="center" style="border:1px solid red;">

    <input type="button" value="解析josn" onclick="jsjosn()" />

    <table cellpadding="0" cellspacing="0" border="1px"  >

      <caption>信息表</caption>

       <thead>

         <tr>

           <th>姓名</th>

           <th>性别</th>

           <th>年龄</th>

           <th>邮箱</th>         

         </tr>       

       </thead>

       <tbody id="testjosn">

       

       </tbody>

    </table>  

  </div>

  </body>

</html>

 

 

<!--EndFragment-->

2
1
分享到:
评论

相关推荐

    浅谈ios中的json解析(转载)

    NULL 博文链接:https://anlulu.iteye.com/blog/1834835

    浅谈使用java解析和生成JSON

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中google-gson和org.json比较简单,两者使用上差不多但还是有些区别。下面我们就来分别介绍下用他们构造和解析Json数据的方法示例。

    【JSON解析】浅谈JSONObject的使用

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。  JSON建构于两种...

    浅谈Android Studio 解析XML的三种方法

    文件解析要求,json解析和xml解析,前面文章说过Json转实体类,这里就说说解析XML 内容: Android Studio 解析XML常见的三种方式:DOM PULL SAX (实现XML转实体类并打印输出) 效果演示: 二丶正文 SAX(Simple ...

    浅谈JSON.parse()和JSON.stringify()

    1.parse 用于从一个字符串中解析出json 对象。例如 var str='{“name”:”cpf”,”age”:”23″}’ 经 JSON.parse(str) 得到: Object: age:"23" name:"cpf" _proto_:Object ps:单引号写在{}外,每个属性都必须...

    浅谈php和js中json的编码和解码

    1)编码 $jsonStr = json_encode($array) 2)解码 $arr = json_decode($jsonStr) &lt;?...echo json_encode(...//需要JSON解析器或工具类 2. 解码 三种: var jsonStr = ”[{“id”:”1″,”name”:”computer”}]”;

    浅谈iOS解析HTMl标签以及开发中的一些坑

    今天主要就写写iOS中怎么解析HTML标签,我们常用的后台返回数据一般是json格式的但是有些时候如果我们收到的是带HTMl标签的我们该怎么处理他呢,今天就来说一说吧。 正文 前两天获取后台数据的时候,得到这么一条...

    浅谈JSON.stringify()和JOSN.parse()方法的不同

    parse 用于从一个字符串中解析出json 对象而stringify用于从一个对象解析出字符串,这篇文章主要介绍了JSON.stringify()和JOSN.parse()方法的不同,需要的朋友可以参考下

    浅谈JsonObject中的key-value数据解析排序问题

    1、JsonObject中的数据是key-value形式,通过JsonObject的keys方法得到key的迭代器是无序的,要想实现排序,目前只能通过加装一层处理(方法来自Stack Overflow,感谢大神),将key-vlaue放入ThreeMap排序,排序规则...

    浅谈express 中间件机制及实现原理

    简介 中间件机制可以让我们在一个给定的流程中添加一个处理步骤,从而对这个流程的输入或者输出产生...app.use(bodyParser.json()) //解析 cookie app.use(cookieParser()) //拦截 app.get('/hello', function (req,

    浅谈Android客户端与服务器的数据交互总结

    本文总结了Android客户端与服务器进行交互时,采用RESTful API +Json的交互方式,针对不同的数据形式以及不同的解析方法,如有不足之处,欢迎指正。 温馨提示:本文适合有一定Android开发经验的人阅读,如有疑问,...

    Postgresql中国用户大会 2016(PG大象会)所有PPT汇总.zip

    余星-平安壹钱包-浅谈PostgreSQL 高可用架构.pdf 范孝剑-阿里云-PG优化器浅析.pdf 张广舟-阿里云-ApsaraDB for Greenplum介绍.pdf 高金芳-平安科技-PostgreSQL反向代理redis.pdf 张文杰-阿里云-PostgreSQL...

Global site tag (gtag.js) - Google Analytics