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