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

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

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

          XSTREAM是將整個對象輸出成XML,好像不能控制需要輸出的成員及其字段名,但可以非常方便的自動進行轉換;它輸出的XML要比JSON費紙。JSON天然與WEB上的JAVASCRIPT集成也是一個優點。各有用武之地,XSTREAM是個好東東!  回復  更多評論
            
          # re: 用JSON格式進行內容組織,跟多項內容的字符串解析說BYEBYE 2008-05-11 18:39 | dellsoft
          json-lib 也不錯呀  回復  更多評論
            
          主站蜘蛛池模板: 顺平县| 南川市| 敖汉旗| 张掖市| 平塘县| 光泽县| 岢岚县| 靖宇县| 雅江县| 平乡县| 临西县| 阜城县| 财经| 固镇县| 松阳县| 海安县| 二连浩特市| 当涂县| 凉城县| 新竹县| 太谷县| 南宫市| 洪雅县| 阿鲁科尔沁旗| 理塘县| 伊春市| 内江市| 桐柏县| 正宁县| 许昌市| 汽车| 上虞市| 武隆县| 陇西县| 大庆市| 临安市| 孝昌县| 安乡县| 南华县| 遵义县| 邛崃市|