詳細(xì)解讀JSON變量的種種做法
現(xiàn)在, JSON 為Web 應(yīng)用開(kāi)發(fā)者提供了另一種數(shù)據(jù)交換格式。讓我們來(lái)看看 JSON 到底是什么,同 XML 或 HTML 片段相比,JSON變量提供了更好的簡(jiǎn)單性和靈活性。。。。
如果我們想將該語(yǔ)句中的值xxx,yyy分別保存在兩個(gè)變量上,然后傳入JSON變量名,該如何設(shè)置呢?大概你不會(huì)想到這樣吧?我沒(méi)有這樣做過(guò),一般的做法為:#t#
- var a="xxx";var b="yyy";var json={a:a,b:b}
這樣做的確挺麻煩的,但當(dāng)初還真沒(méi)有好辦法。
- var a="xxx",b="yyy";var json="{a:'"+a+"',b:'"+b+"'}";json=eval("("+json+")")
今天在Ext中看到果真可以使用我們前面的那種寫(xiě)法,json會(huì)自動(dòng)區(qū)分冒號(hào)前的是json名稱值,后面的是傳入的JSON變量。這樣就簡(jiǎn)便多了。感嘆一下:js語(yǔ)法真是妙!以后可以這樣用了:
- handler : function(){
- // input_store.commitChanges();
- var lstAddRecord=new Array();
- input_store.each(function(record) {
- lstAddRecord.push(record.data);
- });
- Ext.Ajax.request({
- url: 'function/rivaldata/rivalDataAction.do?tag=add',
- success: function (response,options){
- var obj= Ext.decode(response.responseText) ;
- alert(obj.msg);
- },
- failure: function(){
- alert("failure");
- },
- //將ext.data.store的所有record轉(zhuǎn)為JSON格式,傳到服務(wù)端
- params: {strJson:Ext.encode(lstAddRecord)}
- // jsonData:Ext.encode(input_store)
- });
- // alert(Ext.encode(lstAddRecord));
- }