您好,登錄后才能下訂單哦!
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>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。