我正在将grails插件从1.3.4升级到grails 2.1.1.升级后,我现在有一个失败的集成测试,之前没有失败.它无法使用"as JSON"(grails.converters.JSON).
@Test
public void testConvertCollectionOfEnvironmentSettingsToJSON() {
EnvironmentSetting setting = configurationService.getEnvironmentSetting('ENFORCE_SCHEMA_INSTANCE_RULE')
def jsonSetting = setting as JSON //exception thrown here
def s = jsonSetting as String
assertNotNull jsonSetting
}
Run Code Online (Sandbox Code Playgroud)
异常和堆栈跟踪:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'com.company.ipsvc.configuration.domain.EnvironmentSettingAllRevs@48c12420' with class 'com.company.ipsvc.configuration.domain.EnvironmentSettingAllRevs' to class 'grails.converters.JSON'
at com.company.ipsvc.configuration.converter.json.basic.BasicEnvironmentSettingJSONIntegrationTests.testConvertCollectionOfEnvironmentSettingsToJSON(BasicEnvironmentSettingJSONIntegrationTests.groovy:28)
Run Code Online (Sandbox Code Playgroud)
我能够成功使用encodeAsJSON().我也有与XML相同的问题.
我有一个Java应用程序,我想用XML而不是数据库保存数据.
我们决定使用JAXB而不是基于模式生成文件,我们只是在Java文件中添加了注释.
我们遇到的问题是我们有一个名为Node的抽象类的ArrayList.Node具有Module或ScreenImage的子类.当我们编组arraylist时,它不会保存类型.如:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Module"
Run Code Online (Sandbox Code Playgroud)
JAXB是否支持抽象元素?
如何让JAXB保存类型,以便我可以解组它?