json 返回的构建?
yovenny opened this issue · 7 comments
yovenny commented
yovenny commented
期望结果:{"user":{"name","---","icon":"http:"},"address":"honghuaguang","comment_count":1,"content":"sdfsd","coord":"guangzhou","create_at":"2015-09-28","device":"android","id":1,"imgeurl":"sdfsd","like_count":12,"liked":1,"location":"china","owner_id":1}
yovenny commented
用map,一个一个字段重新构建,返回map吗?
Dreampie commented
不用写user属性
public User getUser(){
User user=this.get("user");
if(user==null){
user=User.dao.findById(xx);
this.put("user",user);
}
return user;
}
//getXxx 会被认为是属性 转换json的时候 会被执行一次
yovenny commented
将这段代码加到Bubble,出现了以下错误:Caused by: cn.dreampie.common.entity.exception.EntityException: The attribute name is not exists: user
Dreampie commented
抱歉,
this.set("user",user); 会检查属性,改成put应该ok
yovenny commented
原来是我写错了,不好意思啊!有时间会去了解下里面的代码的。
yovenny commented
最后:
public SimpleUser getSimpleUser(){
SimpleUser simpleUser=this.get("user");
if(simpleUser==null){
SimpleUser saveSimpleUser=new SimpleUser();
User user=User.dao.findFirstBy("id =?", this.get("owner_id"));
saveSimpleUser.id=user.get("id");
saveSimpleUser.name=user.get("username");
simpleUser=saveSimpleUser;
this.put("user",simpleUser);
}
return simpleUser;
}
public static class SimpleUser{
public long id;
public String name;
}