json的使用入門

           JSON采用完全獨立于語言的文本格式,易于人閱讀和編寫,同時也易于機器解析和生成。所以是數(shù)據(jù)中轉(zhuǎn)與傳輸?shù)膬?yōu)選。下面就是經(jīng)常用到的一些特性。本文所指都是json-lib的用法
          1.json--->List<YOUR_CLASS>
           
           1       List<YOUR_CLASS> list=new ArrayList<YOUR_CLASS>(); 
                        JSONArray jsonArray = JSONArray.fromObject(fmsStr);
           2        JsonConfig jc=new JsonConfig();
           3        jc.setRootClass(YOUR_CLASS.class);
           4        jc.setArrayMode(JsonConfig.MODE_OBJECT_ARRAY);
           5        int i=1;
           6        YOUR_CLASS[] oArray=(YOUR_CLASS[]) JSONArray.toArray(jsonArray, jc);
           7        for(YOUR_CLASSfms : oArray){
           8            list.add(fms);
           9        }

          2.json-->YOUR_CLASS
          1        JSONObject json=JSONObject.fromObject(fmsStr);
          2        FMS fms=(FMS)JSONObject.toBean(json, FMS.class);
          3.json--> bean轉(zhuǎn)換日期格式
          1           JSONObject json=JSONObject.fromObject(fmsStr);
          2       String[] dateFormats = new String[]  {"yyyy-MM-dd"};
          3          JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(dateFormats));
          4          FMS fms=(FMS)JSONObject.toBean(json, FMS.class);
          5
          6其中fms有一個屬性day:1991-12-2
          4.json-->bean過濾一些不需要或json字符串中沒有賦值的項使用JSONConfig
                  JSONArray jsonArray = JSONArray.fromObject([{a:"astr",b:"bstr",c:"cstr",d:"dstr"},{a:"astr1",b:"bstr1",c:"cstr1",d:"dstr1"}]);
                  JsonConfig jc
          =new JsonConfig();
                  jc.setRootClass(FMS.
          class);
                  String[] dateFormats 
          = new String[] {"yyyy-MM-dd"};
                  JSONUtils.getMorpherRegistry().registerMorpher(
          new DateMorpher(dateFormats));
                  jc.setArrayMode(JsonConfig.MODE_OBJECT_ARRAY);
                  jc.setJsonPropertyFilter(
          new PropertyFilter(){
                      
          public boolean apply(Object sourse, String name, Object value) {
                          
          if(name.equals("a")||name.equals("b")||name.equals("c")||name.equals("d")){
                              
          return true;
                          }

                          
          else{
                              
          return false;
                          }

                      }

                      
                  }
          );
                  FMS[] oArray
          =(FMS[]) JSONArray.toArray(jsonArray, jc);


          FMS
          -->有 a b c d 屬性



          posted on 2009-07-10 14:18 star11th 閱讀(720) 評論(0)  編輯  收藏 所屬分類: 周邊技術(shù)


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2009年7月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东乡县| 八宿县| 阆中市| 赤峰市| 瓦房店市| 塘沽区| 乐安县| 个旧市| 大同县| 南阳市| 井研县| 石柱| 上饶县| 建湖县| 张家口市| 丹棱县| 双牌县| 建德市| 饶阳县| 西安市| 邛崃市| 东阿县| 余干县| 绥芬河市| 太保市| 汉源县| 延寿县| 吴旗县| 渝中区| 包头市| 炎陵县| 乌拉特前旗| 阳东县| 磐石市| 华蓥市| 三原县| 静宁县| 句容市| 古田县| 武陟县| 玉林市|