Java Google GAE json输出产生重复对象(关闭)是一个Api问题

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上部署了一个java应用程序。我正在使用Gson进行序列化和反序列化。我还使用了joda time 2.4

当我在eclipse上作为java应用程序运行应用程序时。。。json输出如下图所示:(json被简化)



当我在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"
                        }
                    ]
                }
            }
        ]
    }
]
}