我使用GSON序列化POJO - 两个对象在修改之前和之后。使用Gson来序列化一个POJO
由Struts2设置的修改过的(称为A)可以轻松地序列化为Json。
虽然更改前的POJO是通过iBatis(称为B)从数据库获取的,但无法序列化。
错误消息说:忘了注册一个类型适配器?
我已阅读Gson API。但我不认为为每个POJO注册一个类型适配器是一个好主意。什么使得B无法被序列化?
我为我的POJO编写一个clone(),并且从B克隆的对象也可以完成。
这令人困惑...有没有人可以回答我?
改变之前(B的克隆):
{"id":"6429B5329C544711A9848AF243D10E4E","idType":"未选择","firstDate":"Feb 29, 2012 12:00:00 AM","name":"testetes","gender":"男","phone":"553223","city":"未选择","ocup":"未选择","nation":"未选择","famStru":"未选择","infSouc":"未选择","creater":"EE4783A6272A4B62A5CC68DB3C11FE1E","createDate":"Feb 29, 2012 12:00:00 AM","purpose":"未选择","education":"未选择","income":"未选择","cars":"未选择","acptCarpRent":"未选择","acptCarpPrice":"未选择","handStand":"未选择","intentHouse":"未选择","intentArea":"未选择","intentLayout":"未选择","nextDate":"Mar 7, 2012 12:00:00 AM","wuyeType":"未选择","attentionPro":"958B9E093A84415B901900C2DA25C712","ordinaryTraffic":"未选择","attentionPoint":"未选择","buyDate":"未选择","cityArea":"未选择","lastUpdate":"Feb 29, 2012 12:00:00 AM","lastModifier":"EE4783A6272A4B62A5CC68DB3C11FE1E","saler":"A4FB4877DC2945E980477544A955B57F","state":"意向","status":"0"}
改变(A)后:
{"id":"6429B5329C544711A9848AF243D10E4E","idType":"未选择","firstDate":"Feb 29, 2012 12:00:00 AM","visitMode":"","name":"testetes","gender":"男","telPhone":"","phone":"553223","fax":"","adrs":"","postCode":"","email":"","workUnit":"","city":"未选择","media_id":"","ocup":"未选择","idNum":"","nation":"未选择","famStru":"未选择","infSouc":"未选择","createDate":"Feb 29, 2012 12:00:00 AM","idAdr":"","purpose":"未选择","education":"未选择","income":"未选择","cars":"未选择","acptCarpRent":"未选择","acptCarpPrice":"未选择","handStand":"未选择","intentHouse":"未选择","intentArea":"未选择","intentLayout":"未选择","customerDetail":"","wuyeType":"未选择","attentionPro":"958B9E093A84415B901900C2DA25C712","ordinaryTraffic":"未选择","attentionPoint":"未选择","buyDate":"未选择","cityArea":"未选择","lastUpdate":"Mar 11, 2012 2:58:04 PM","lastModifier":"00000000000000000000000000000000","saler":"A4FB4877DC2945E980477544A955B57F","state":"意向"}
请发布两个JSON字符串以及两种情况下的输出。 – 2012-03-12 02:02:47
这两个JSON字符串都是有效的,您遇到的错误消息以及从哪个库? – 2012-03-12 05:34:42
第一个字符串是从B'clone序列化的。 **在这期间没有错误。只有当我尝试序列化POJO B时才会出现错误。**错误消息:_java.lang.UnsupportedOperationException:试图序列化java.lang.Class:com.b5.customer.domain.Customer 。忘记注册一个类型适配器?_ – 2012-03-12 06:33:06