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 属性



posted on 2009-07-10 14:18 star11th 阅读(705) 评论(0)  编辑  收藏 所属分类: 周边技术


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜