手记

json的使用

json是一种跨平台的数据交换格式,相比与xml它更轻量,占用资源更少,速度更快,但是它的格式较少,但对于ajax来说足够了

服务端把对象转化成字符,用json传送,数据被ajax对象接受后,被json转化成对象,再显示出来


首先说说json的语法  (在js中写)

1 表示一个对象

  var obj={"company":"达内","address:{"city":"beijing","stress","huayuanstress","root":701}}

(这个对象表示有嵌套的意思)

   alert(obj.address.room)

2 表示由对个对象组成的数组

 var obj=[{"name":"minglou","age":30},{"name":"gucheng","age":33}];

   alert(obj[1].age)


其次说说如何使用json

两个方面走

一是从java对象或者是对象数组变成json字符串的形式

要是用json的jar包   要用到JSONObject  JSONArray

在java代码中写上

       JSONObject obj=JSONObject.fromObject(stock);

        String str=obj.toString();    

        JSONArray arr=JSONArray.fromObject(stocks);

        String strs=arr.toString();

把json字符串变成javascript对象(或者是数组)

    用到prototype.js的evalJSON()

  用法是导入<script type="text/javascript" src="prototype.js">

 写一个例子:把服务器发过来的字符串转变成对象了之后,再在页面上做局部的更新

   <script type="text/javascript" src="my.js"></script>   //用到了ajax对象

   <script type="text/javascript" src="prototype.js"></script> //用到json的转换

    <script type="text/javascript" > 

        function showStock(){

            setInterval(quoto,5000);

        }

            function  quoto(){

             var xhr=getXhr(); //获得ajax对象

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

                    var txt=xhr.responseText;

                    var stocks=txt.evalJSON();

                    var strs='';

                    if(int i=0;i<stocks.length;i++){

                        var s=stocks[i];

                        strs='<tr><td>'+s.code

                                +'</td><td>'+s.name

                                +'</td><td>'+s.price+'</td></tr>'

                    }

                ${'id'}.innerHTML=strs;

                }

           xhr.send(null);

        }

    </script>

    

    

0人推荐
随时随地看视频
慕课网APP