这是我的儿子
{
"profile_min_salary": 10000,
"profile_requirement_checklist": "Excel Aana Chahiye.",
"tags": "central,12th pass,thoda english,good english,fluent
english,male,fresher,female"
}这是我的模型
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY,
getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE)
@JsonIgnoreProperties(ignoreUnknown = true)'
public class Job {
@JsonProperty("profile_min_salary")
private Integer profileMinSalary;
@JsonProperty("profile_requirement_checklist")
private String profileRequirementChecklist;
@JsonProperty("tags")
private String tags;
public String getTags() {
return tags;
}
public Integer getProfileMinSalary() {
return profileMinSalary;
}
public void setProfileMinSalary(Integer profileMinSalary) {
this.profileMinSalary = profileMinSalary;
}
public void setTags(String tags) {
this.tags = tags;
}
public String getProfileRequirementChecklist() {
return profileRequirementChecklist;
}
public void setProfileRequirementChecklist(String profileRequirementChecklist) {
this.profileRequirementChecklist = profileRequirementChecklist;
}
}这是我的防火代码片段
@Override
public void onChildAdded(final DataSnapshot dataSnapshot, String previousChildName) {
new Thread(new Runnable() {
@Override
public void run() {
try {
Job job = dataSnapshot.getValue(Job.class);
doOperationOnJob(job);
} catch (Exception e) {
Log.e(TAG, e.getMessage(), e);
Crashlytics.logException(e);
}
}
}).start();
}但是我的类只获取标记参数,否则是空的,为什么?
--如果我这样写的话,它运行得很好,
@Override
public void onChildAdded(final DataSnapshot dataSnapshot, String previousChildName) {
new Thread(new Runnable() {
@Override
public void run() {
try {
String jsonData = new ObjectMapper().writeValueAsString(dataSnapshot.getValue());
Job job= new ObjectMapper().readValue(jsonData , Job.class);
doOperationOnJob(job);
} catch (Exception e) {
Log.e(TAG, e.getMessage(), e);
Crashlytics.logException(e);
}
}
}).start();
}在第一个场景中,我应该修改代码以使其工作吗??我被卡住了。
发布于 2016-06-15 06:45:06
在模型中进行以下更改以正确使用Firebase。
private Integer profile_min_salary;
private String profile_requirement_checklist;
private String tags;如果属性名称相同,实际上不需要将@JsonProperty注释设置为使用Firebase。
所以简单地说你的POJO看起来像这样
public class Job {
public Integer profile_min_salary;
public String profile_requirement_checklist;
public String tags;
}在声明了所有变量public之后,只需创建一个Job类的实例(例如Job mJob = new Job();),然后创建mJob.profile_min_salary,就可以得到这些变量
https://stackoverflow.com/questions/37827797
复制相似问题