隨筆-124  評論-194  文章-0  trackbacks-0
          平時編程中經(jīng)常遇到將多項內(nèi)容放入字串,然后再一一解析出來的情況,常常是這樣的字串操作不勝其煩。
          我們可以使用JSON這一標準格式來組織內(nèi)容到字符串,然后現(xiàn)成的類庫來進行解析,準確而清晰。

          例如:
          多項值可以這樣組織:{id:1, name:'John', number:'4563223'}
          數(shù)組的格式是這樣:[{id:1, name:'John', number:'4563223'}, {id:2, name:'Kate', number:'873223'}]
          具體的格式說明看這里。

          下面來看一下在JAVA環(huán)境以及在WEB里的JAVASCRIPT解析方法:

          JAVA的方式:
                  JSONObject jo = new JSONObject ("{id:1,name:'hello, world'}") ;
                  logger.info("{} is {}", jo.getInt("id"), jo.getString("name"));
                 
                  JSONArray arr = new JSONArray("[" +
                          "{id:1,n:'host1',s:1}," +
                          "{id:2,n:'host2',s:0}," +
                          "{id:3,n:'host3',s:0}" +
                          "]");
                 
                  for (int i=0; i<arr.length(); i++) {
                      JSONObject o = arr.getJSONObject(i);
                      logger.info("{} name is {}", o.getString("id"), o.getString("n"));
                  }
                 
          輸出是:
          1 is hello, world
          1 name is host1
          2 name is host2
          3 name is host3
          用到的類庫在這里。


          JS的方式:
              {
                  var o = Ext.util.JSON.decode(    "{id:1,n:'host1',s:1}");

                  eb.log.debug (o.id + " is " + o.n);
              }
             
              {
                  var o = Ext.util.JSON.decode("[" +
                          "{id:1,n:'host1',s:1}," +
                          "{id:2,n:'host2',s:0}," +
                          "{id:3,n:'host2',s:0}" +
                          "]");

                  for (var i=0; i<o.length; i++) {
                      eb.log.debug (o[i].id + " is " + o[i].n);
                  }
              }

          輸出是:
          1 is host1
          1 is host1
          2 is host2
          3 is host2
          用到的工具在這里。這里用了EXT包裹過一道的此工具,工作方式是一樣的。

          posted on 2008-05-10 12:15 我愛佳娃 閱讀(7117) 評論(4)  編輯  收藏 所屬分類: JAVA基礎

          評論:
          # re: 用JSON格式進行內(nèi)容組織,跟多項內(nèi)容的字符串解析說BYEBYE[未登錄] 2008-05-10 23:11 | Summer
          呵呵,很棒的文章,淺顯易懂。  回復  更多評論
            
          # re: 用JSON格式進行內(nèi)容組織,跟多項內(nèi)容的字符串解析說BYEBYE[未登錄] 2008-05-10 23:36 | Samuel
          呵呵!建議參考一下XStream。  回復  更多評論
            
          # re: 用JSON格式進行內(nèi)容組織,跟多項內(nèi)容的字符串解析說BYEBYE 2008-05-11 08:54 | 我愛佳娃
          嗯,XSTREAM也可以“組織內(nèi)容到字串”,它的兩分鐘教程在這里:http://xstream.codehaus.org/tutorial.html

          XSTREAM是將整個對象輸出成XML,好像不能控制需要輸出的成員及其字段名,但可以非常方便的自動進行轉換;它輸出的XML要比JSON費紙。JSON天然與WEB上的JAVASCRIPT集成也是一個優(yōu)點。各有用武之地,XSTREAM是個好東東!  回復  更多評論
            
          # re: 用JSON格式進行內(nèi)容組織,跟多項內(nèi)容的字符串解析說BYEBYE 2008-05-11 18:39 | dellsoft
          json-lib 也不錯呀  回復  更多評論
            
          主站蜘蛛池模板: 达日县| 蕉岭县| 彭阳县| 白沙| 定西市| 进贤县| 龙陵县| 淮南市| 安徽省| 化州市| 彭州市| 凤山县| 孝昌县| 南乐县| 南华县| 香港| 本溪| 东丽区| 龙井市| 淮南市| 杂多县| 奇台县| 丘北县| 钟祥市| 阳泉市| 莫力| 鲁山县| 襄汾县| 商南县| 惠安县| 澄城县| 饶河县| 都昌县| 陆良县| 塔河县| 高淳县| 桂东县| 石门县| 宾阳县| 南溪县| 陕西省|