1.首先,我是从服务器端传回来的json数据如下:{info:succeed,user_id:1,user_password:9999,user_email:95469@qq.com,user_nicheng:\u6817\u5b50,user_sex:\u7537,user_phone:13590272662,user_add:null,user_qianming:\u5199\u4e0a\u4e00\u53e5\u8bdd\uff0c\u54f2\u7406\u4eba\u751f\u3002__by_\u6817\u5b50}
信息大概是:info,user_id,user_password,user_email,user_nicheng,
user_sex,user_phone,user_add,user_qianming
2.然后我用 gson 去解析以上这一段json,代码如下:userbean user = new gson().fromjson(string, userbean.class);
3.最后贴上 userbean.class 的代码。。。public class userbean implements iuserbean{ string info; int userid; string useremail; string usernicheng; string usersex; string userphone; string useradd; string userqianming; //还有以下的 setxxx , getxxx 方法就忽略了
然后问题是解析出来的 userbean 的对象 user 中,只有info,userid是有值得,其他没有值,这是怎么回事。。。?
还有,gson 中的fromjson方法,对我自定义的 userbean 有什么要求吗?
回复内容: 1.首先,我是从服务器端传回来的json数据如下:{info:succeed,user_id:1,user_password:9999,user_email:95469@qq.com,user_nicheng:\u6817\u5b50,user_sex:\u7537,user_phone:13590272662,user_add:null,user_qianming:\u5199\u4e0a\u4e00\u53e5\u8bdd\uff0c\u54f2\u7406\u4eba\u751f\u3002__by_\u6817\u5b50}
信息大概是:info,user_id,user_password,user_email,user_nicheng,
user_sex,user_phone,user_add,user_qianming
2.然后我用 gson 去解析以上这一段json,代码如下:userbean user = new gson().fromjson(string, userbean.class);
3.最后贴上 userbean.class 的代码。。。public class userbean implements iuserbean{ string info; int userid; string useremail; string usernicheng; string usersex; string userphone; string useradd; string userqianming; //还有以下的 setxxx , getxxx 方法就忽略了
然后问题是解析出来的 userbean 的对象 user 中,只有info,userid是有值得,其他没有值,这是怎么回事。。。?
还有,gson 中的fromjson方法,对我自定义的 userbean 有什么要求吗?
info有值因为json里有info
其他没有值是因为class的member在json里不存在(gson不会把json的user_email填到java的useremail)
userid有值因为.. java的int一定有一个值
gson没啥特别的坑.. 有个无参数无依赖的构造函数就能用 (也就是说非static的inner class不可以. 如果没有就要自己写一个instancecreator)
public class book implements serializable { @serializedname(jcid) private string bookid; ... 省略set get 方法 }json 串里是jcid, 用注解和bookid 就可以绑定在一起呢