Json的 数据不全如何解决

我想解析出来图片可是有的数据并没有图片 所以想在没有图片的情况下设置自己的默认图片 图片描述

如何解决(本人新手 如果叙述不清楚的话 尽管问我)

obj 1 有大图小图 obj 2 却没有图片 所以想在没有图片的数据 图片设置为默认图片

阅读 5.2k
7 个回答

setter和getter实现啊,不管json返回有没有,实体都当做默认有,拿albumpic_small举例

public class ImageEntry {

    String albumpic_small;

    public String getAlbumpic_small() {
        if(TextUtils.isEmpty(albumpic_small)) {
            //这里设定你的默认图片路径
            albumpic_small = "default image path";
        }
        return albumpic_small;
    }

    public void setAlbumpic_small(String albumpic_small) {
        this.albumpic_small = albumpic_small;
    }
}

ImageEntry entry = new ImageEntry();
entry.setAlbumpic_small(jobj.optString("albumpic_small"));

用gson直接转为bean,使用的时候检查该obj里的图片参数是否为null就行

进行json对象解析时,可以判断该对象是否含有该属性,方法为hasOwnProperty

// 对 `json` 数据进行预处理
var res = {...};
if(!res.albumpic_big && !res.albumpic_small){
    res.albumpic_big = res.albumpic_small = 'http://example.com/default.png'
}
// 使用预处理之后的 `res`
新手上路,请多包涵

这个是数据源数据不可靠,所以我建议是在使用这个数据地方坐判断。如果一定要确认数据源可靠的话,只能循环验证了。

新手上路,请多包涵

不是很多图片加载框架都支持设置默认加载图片麽?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题