BlogJava-面朝大海 春暖花開-随笔分类-周边技术http://www.blogjava.net/wangjin/category/40737.html專注于金融相關系統的設計與開發zh-cnFri, 10 Jul 2009 09:29:46 GMTFri, 10 Jul 2009 09:29:46 GMT60json的使用入门http://www.blogjava.net/wangjin/archive/2009/07/10/json.htmlstar11thstar11thFri, 10 Jul 2009 06:18:00 GMThttp://www.blogjava.net/wangjin/archive/2009/07/10/json.htmlhttp://www.blogjava.net/wangjin/comments/286244.htmlhttp://www.blogjava.net/wangjin/archive/2009/07/10/json.html#Feedback0http://www.blogjava.net/wangjin/comments/commentRss/286244.htmlhttp://www.blogjava.net/wangjin/services/trackbacks/286244.htmljson-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转换日期格式
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 属性





star11th 2009-07-10 14:18 发表评论
]]>