Java 泛型作为 Json Bean类型解析的应用

Java 泛型作为 Json Bean类型解析的应用

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

注意观察 泛型参数 T 的使用过程:

Class<T> clazz
T resultObj = JSONObject.parseObject(response.body().toString(), clazz);
========================================================
 
 
public abstract class BaseRequest<K extends BaseParam, T> {

    public interface BusinessCallback<L> {
        public void onBusinessSuccess(String code, String msg, L data);
        public void onBusinessFail(String code, String msg, L data);
        public void onError(String code, String msg, L data);
    }

    public void request(K param, final Class<T> clazz, final BusinessCallback businessCallback) {
        String requestParamJson = JSONObject.toJSONString(param);
        Log.d("test", requestParamJson);

        OkGo.<String>post(param.getUrl())
                .tag(this)
                .upJson(requestParamJson)
                .execute(new StringCallback() {
                    @Override
                    public void onSuccess(Response<String> response) {
                        Log.d("test", "onSuccess:" + response.body().toString());
                        T resultObj = JSONObject.parseObject(response.body().toString(), clazz);
                        BaseRequest.this.onSuccess(resultObj, businessCallback);
                    }

                    @Override
                    public void onError(Response<String> response) {
                        super.onError(response);
                        Log.d("test", "onError:");
                        BaseRequest.this.onError(response, businessCallback);
                    }
                });
    }


iOS 中 Storyboard 与 Xib 间控制器跳转 - 简化整理完整版

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

猜你喜欢

转载自blog.csdn.net/sleks/article/details/79852395