使用 JsonReader 的 peek() 方法 时
将 reader.peek()!= JsonToken.NULL 写成 reader.peek()!=null
Message message=new Message();
//开始解析对象(Message)
reader.beginObject();
while (reader.hasNext()){
String name = reader.nextName();//获取属性名字
if(name.equals("id")){
message.setId(reader.nextLong());
}else if (name.equals("text")){
message.setText(reader.nextString());
}else if(name.equals("geo")&& reader.peek()!= JsonToken.NULL){//特定的值判断 不能直接用null
//reader.peek()!= JsonToken.NULL 用于判断属性值是否为空 若为空则不读值
message.setGeo(readDoubleArray(reader));//读取数组
}else if(name.equals("user")){
message.setUser(readUserArray(reader));
}else{
reader.skipValue();//若最后无法匹配对应属性或属性值为空 跳过 防止阻塞
}
}
//结束解析对象(Message)
reader.endObject();
}