无法退回以在Android

时间:2016-03-29 03:40:40

标签: android firebase

Firebase.setAndroidContext(this);

Firebase myFirebaseRef = new Firebase("https://platformapps.firebaseio.com/sensedb/platformdb/MESSAGES");

myFirebaseRef.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
        for (DataSnapshot userSnapshot : dataSnapshot.getChildren()) {
            BlogPost user = userSnapshot.getValue(BlogPost.class);
            System.out.println(user.toString());
        }
        Log.d("Response", "Response");


    }

@JsonIgnoreProperties(ignoreUnknown = true)
public class BlogPost {

    private String NOTIF_INST;
    private String NOTIF_TYPE;
    private String OBJ_DATA;
    private String OBJ_TYPE;

    public BlogPost() {

    }

    public String getNOTIF_INST() {
        return NOTIF_INST;
    }

    public void setNOTIF_INST(String NOTIF_INST) {
        this.NOTIF_INST = NOTIF_INST;
    }

    public String getNOTIF_TYPE() {
        return NOTIF_TYPE;
    }

    public void setNOTIF_TYPE(String NOTIF_TYPE) {
        this.NOTIF_TYPE = NOTIF_TYPE;
    }

    public String getOBJ_DATA() {
        return OBJ_DATA;
    }

    public void setOBJ_DATA(String OBJ_DATA) {
        this.OBJ_DATA = OBJ_DATA;
    }

    public String getOBJ_TYPE() {
        return OBJ_TYPE;
    }

    public void setOBJ_TYPE(String OBJ_TYPE) {
        this.OBJ_TYPE = OBJ_TYPE;
    }

}

enter image description here

此异常即将到来   无法从String值实例化类型[simple type,class info.androidhive.tendigimrapp.model.BlogPost]的值;没有单字符串构造函数/工厂方法             在

请建议我在哪里做错了。

1 个答案:

答案 0 :(得分:0)

你的getters在你的JSON中拥有的属性是错误的。事实上,我认为没有一种方法可以将这个JSON映射到Java Bean。

我唯一能想到的就是绕过Java Bean表示法并转到:

public static class OneProperty {
    public String NOTIF_TYPE;
    // TODO: add other fields
}

虽然这是一种更简单的格式并允许解析您的JSON结构,但它本质上相当于C结构。