Java Google GAE json输出产生重复对象(关闭)是一个Api问题
我在GAE上部署了一个java应用程序。我正在使用Gson进行序列化和反序列化。我还使用了joda time 2.4 当我在eclipse上作为java应用程序运行应用程序时。。。json输出如下图所示:(json被简化)Java Google GAE json输出产生重复对象(关闭)是一个Api问题,java,google-app-engine,gson,Java,Google App Engine,Gson,我在GAE上部署了一个java应用程序。我正在使用Gson进行序列化和反序列化。我还使用了joda time 2.4 当我在eclipse上作为java应用程序运行应用程序时。。。json输出如下图所示:(json被简化) 当我在GAE引擎上运行相同的数据时。。输出显示每个对象的3个副本,如下所示: 我不知道为什么在GAE上运行应用程序时会创建重复对象。如果问题存在于我的预期中,或者我在这里遗漏了什么,希望获得一些输入。您能告诉我们如何使用Gson以及您序列化/反序列化了哪些数据吗?看起
当我在GAE引擎上运行相同的数据时。。输出显示每个对象的3个副本,如下所示:
我不知道为什么在GAE上运行应用程序时会创建重复对象。如果问题存在于我的预期中,或者我在这里遗漏了什么,希望获得一些输入。您能告诉我们如何使用Gson以及您序列化/反序列化了哪些数据吗?看起来您多次将对象的相同引用添加到列表中,然后修改实际数据,可能是出于意外。还要注意,scheduleMemberList不包含精确的克隆,因为第二个数组元素中不存在loadSequenceNumber属性。我建议你不要重复使用对象。谢谢你的评论。我发现了问题,它似乎起了作用。以前,我将Engine对象实例作为API本身的一个字段。当再次调用api时,它似乎保留了以前的值。当我将引擎新对象实例移动到Post方法中时,它开始工作,因为每次运行Post方法时都会创建一个新的引擎对象。
{
"_id": "gasqi2ceL3caLHcMc",
"resultHeader": {
"enterprise": "ABC Corp"
},
"craneScheduleList": [
{
"craneId": "crane3",
"scheduleMemberList": [
{
"scheduleStartTimeUTC": "2015-10-04T13:00:00.000Z",
"scheduleEndTimeUTC": "2015-10-04T13:18:00.000Z",
"status": "OPERATIONAL",
"load": {
"loadId": "00004",
"loadSequenceNumber": 1,
"assetsInLoadList": [
{
"assetId": "10128"
},
{
"assetId": "10135"
}
]
}
},
{
"scheduleStartTimeUTC": "2015-10-04T13:18:00.000Z",
"scheduleEndTimeUTC": "2015-10-04T13:27:00.000Z",
"status": "OPERATIONAL",
"load": {
"loadId": "00002_1",
"loadSequenceNumber": 2,
"assetsInLoadList": [
{
"assetId": "10150"
}
]
}
}
]
}
]
}
{
"_id": "gasqi2ceL3caLHcMc",
"resultHeader": {
"enterprise": "ABC Corp"
},
"craneScheduleList": [
{
"craneId": "crane3",
"scheduleMemberList": [
{
"scheduleStartTimeUTC": "2015-10-04T08:00:00.000Z",
"scheduleEndTimeUTC": "2015-10-04T08:18:00.000Z",
"status": "OPERATIONAL",
"load": {
"loadId": "00004",
"loadSequenceNumber": 1,
"assetsInLoadList": [
{
"assetId": "10128"
},
{
"assetId": "10135"
}
]
}
},
{
"scheduleStartTimeUTC": "2015-10-04T08:00:00.000Z",
"scheduleEndTimeUTC": "2015-10-04T08:18:00.000Z",
"status": "OPERATIONAL",
"load": {
"loadId": "00004",
"assetsInLoadList": [
{
"assetId": "10128"
},
{
"assetId": "10135"
}
]
}
},
{
"scheduleStartTimeUTC": "2015-10-04T08:00:00.000Z",
"scheduleEndTimeUTC": "2015-10-04T08:18:00.000Z",
"status": "OPERATIONAL",
"load": {
"loadId": "00004",
"loadSequenceNumber": 1,
"assetsInLoadList": [
{
"assetId": "10128"
},
{
"assetId": "10135"
}
]
}
}
]
}
]
}