В plovr я создал утилиту SoyDataUtil.java , которая берет JsonElement и преобразует его в SoyData .По общему признанию, вы можете найти это полезным, только если вы уже используете Gson , но хорошая особенность этого подхода заключается в том, что Gson, вероятно, позаботится об отражении получателя / установщика за вас.Например, я полагаю, что вы должны сделать:
JsonElement json = (new Gson()).toJsonTree(courses);
SoyData soyData = SoyDataUtil.jsonToSoyData(json);
Map<String, Object> params = new HashMap<String, Object>();
params.put("courses", soyData);
Хитрость заключается в том, чтобы использовать Gson для отражения, чтобы превратить courses
в JsonElement
.Не уверен, готовы ли вы добавить эти зависимости (хотя код из plovr довольно мал - вы можете просто скопировать его напрямую), но это может быть наиболее целесообразным решением.