隨筆-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 我愛佳娃 閱讀(7120) 評論(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 也不錯呀  回復  更多評論
            
          主站蜘蛛池模板: 淮阳县| 郁南县| 屏山县| 农安县| 阳信县| 安达市| 安溪县| 新乐市| 甘洛县| 吴江市| 德阳市| 宿松县| 永靖县| 潞西市| 台中市| 甘南县| 英德市| 临泽县| 阿尔山市| 霍山县| 鄂州市| 文山县| 华阴市| 定日县| 灵川县| 镶黄旗| 芷江| 鄂托克前旗| 饶阳县| 河西区| 江孜县| 峡江县| 黄骅市| 静宁县| 厦门市| 陆良县| 耒阳市| 曲麻莱县| 沈丘县| 清新县| 晴隆县|