json的使用入门

json的使用入门

 JSON采用完全独立于语言的文本格式,易于人阅读和编写,同时也易于机器解析和生成。所以是数据中转与传输的优选。下面就是经常用到的一些特性。本文所指都是 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转换日期格式
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 属性



你可能感兴趣的:(json的使用入门)