Exception in thread "main" java.lang.IllegalArgumentException:declares multiple JSON fields named id

Exception in thread "main" java.lang.IllegalArgumentException: class student.vo.Student declares multiple JSON fields named id
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:122)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
	at com.google.gson.Gson.getAdapter(Gson.java:356)
	at com.google.gson.Gson.fromJson(Gson.java:802)
	at com.google.gson.Gson.fromJson(Gson.java:768)
	at com.google.gson.Gson.fromJson(Gson.java:717)
	at com.google.gson.Gson.fromJson(Gson.java:689)
	at student.main.MainProject.main(MainProject.java:14)


这个是gson在json字符串转换时候序列化错误信息


原因: 当前类继承(extends) 或者 实现(implements)某个父类时,如果父类的id也序列化了,那么在转换的时候就会出现这个错误。


解决方法看这篇:

gson的json字符串转换若干方法



你可能感兴趣的:(个人总结,gson,json)