gson.toJson解析数据时,存在int类型等于0的时候,解析结果错误?

示例数据结构定义:

public class Student {

                   public int id;

                   public String nickName;

}


Student student = new Student();

student.id = 1;

student.nickName = "Jack";

Gson gson = new Gson();
String str = gson.toJson(student);

Log.e("MainActivity", str);

结果是
{"nickName":" Jack ","id":1}

Q:当我的id=0的时候,解析出来的json数据是{"nickName":" Jack ","id":432} 或者有时候解析出来的是"id":2000,或者有时候就是"id"=0就是正确的,请问这是什么情况?
当我把id改成String 类型的时候,id=0解析出来的json数据就是正常的,再也没有出现过432或者2000的时候了 ,各位大虾们,帮我分析一下是什么情况呢?id等于其他数字都正确,唯独等于0的时候就会出现432或者2000的错误数据了