Android的Json字符串用GSON解析注意的问题

第一次写博客,主要是做笔记和分享,希望和我遇到同样问题的人能快速解决不必花费更多时间和精力


我们通过Android的网络请求,请求服务器返回的字符串用GSON解析的代码为:
bean results = new Gson().fromJson(content, bean.class);

这我们都知道,我就提出一些我遇到解析的问题来:

1.能解析,但获取的值为null

   这我们就得看json字符串了,假设json字符串为:{"result":1},

   这是最简单的 但是我们也用GSON解析,并创建实体类 :private int Result; 

   这样的的话就解释了为什么获取为null了,因为这个result在bean中定义的不与json字符串定义的属性相同,所以必须把 Result写成小写

   或者:
在 哪个bean中 写入:@SerializedName("result")  要问为啥 我也不知道。
@SerializedName("result")//设置
private int Result;


2.解析错误,直接报错 ,不抛异常

  这可能是因为传的json中有 date转成long的字符,在用这个代码解析 而在bean中却指定为date则是会出现这种情况的, 我们则需把date类型换成long类型即可

附加:long转日期的string类型
//Date date = new Date(long值);  String类型和int类型可以通过强转得到long值,必须得为long值 string类型和int类型不行
//String str = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); 这个格式是必须得,假如月的部分MM为小写则实际输出为00,如果小时HH写为hh则可能为00或者12

注:我只是做做笔记 


你可能感兴趣的:(Android之JSON解析)