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>

    

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章