您的位置:首页 > Web前端 > JavaScript

Jfinal 2.1 之拓展JSON,使用阿里巴巴的fastjson,文采不行,直接晒代码。

2016-01-14 17:36 741 查看
摘要: 公司的手机端,老抱怨,返JOSN有问题不好解析,为null的属性,根本就没有返回,就算返回了,也是NULL ,至少给个默认值什么的。
比如:Integer age为NULL,给手机端程序员,得返个0,要是返个NULL或者不返回,他们就抱怨了。

【1】、第一步,继承Jfinal的基类Json;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.jfinal.json.Json;

public class MyJson extends Json{

public static String toJsonStr(Object object) {
return JSON.toJSONString(object,
SerializerFeature.WriteNullListAsEmpty,
SerializerFeature.WriteNullStringAsEmpty,
SerializerFeature.WriteNullBooleanAsFalse,
SerializerFeature.WriteNullNumberAsZero,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteMapNullValue);
}

@Override
public String toJson(Object object) {
return JSON.toJSONString(object,
SerializerFeature.WriteNullListAsEmpty,
SerializerFeature.WriteNullStringAsEmpty,
SerializerFeature.WriteNullBooleanAsFalse,
SerializerFeature.WriteNullNumberAsZero,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteMapNullValue);
}

@Override
public <T> T parse(String jsonString, Class<T> type) {
return JSON.parseObject(jsonString, type);
}

}


【2】第二步,在Jfinal类里配置一下

public class MyConfig extends JFinalConfig {
/**
* 配置常量
*/
public void configConstant(Constants me) {
me.setJsonFactory(new IJsonFactory() {
public Json getJson() { return new MyJson();}});
}
}


搞定了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JFInal JSON fastJson