Gson.toJson无法在对象中转换ArrayList(ArrayList = null)

时间:2019-05-28 20:12:06

标签: java json gson emf

我尝试将具有多个属性的Object转换为Json,以将其放入MongoDB。到目前为止,它可以与简单的属性(例如字符串或整数)一起使用。由于我尝试将侦听器添加到对象,因此无法将侦听器数组添加到对象。数组为空。

我看到该对象已正确创建: 您在这里看到https://i.imgur.com/ZhYWhpS.jpg

但是当我使用Gson的“ toJson”方法时,转换无法正常工作。

您在这里看到:https://i.imgur.com/ESNBVow.jpg

问题是数组是私有的吗?但是eFlag(由EMF创建)确实可以转换,并且不为空。

        LightBulb newLightBulb = HomeapiFactory.eINSTANCE.createLightBulb();

                    newLightBulb.setDeviceID(deviceid);
        newLightBulb.setDeviceName(devicename);
        newLightBulb.setDeviceType(DeviceType.LAMP);
        newLightBulb.setBrightness(100);
        newLightBulb.setBatteryLevel(100);
        newLightBulb.setFirmware("1.0");

        listener.addListenerOLD(newLightBulb);

        json = gson.toJson(newLightBulb);
        Document doc = Document.parse(json.toString());
        collection.insertOne(doc);
        System.out.println("New Lamp was added to the DB");

向对象添加侦听器的方法:

public void addListenerOLD(EObject o) // deprecated
{
    Adapter adapter = new AdapterImpl() {
        public void notifyChanged(Notification notification) {
            System.out.println("DeviceState Changed");

        }
    };
    o.eAdapters().add(adapter);
}

0 个答案:

没有答案