我正在使用Jackson来解析我无法控制的JSON.JSON看起来像这样:
{
"status":"0"
"type":"type1"
"info": {
// additional fields
}
}
Run Code Online (Sandbox Code Playgroud)
我的班级看起来像这样
public class Response {
private String status;
private String type;
private Info info
}
Run Code Online (Sandbox Code Playgroud)
我使用的Info的子类取决于type属性,所以我对info的映射是
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXTERNAL_PROPERTY, property = "type")
@JsonSubTypes(value = {
@JsonSubTypes.Type(value = Type1Info.class, name = "type1"),
@JsonSubTypes.Type(value = Type2Info.class, name = "type2") })
public abstract class Info {
// some fields
}
Run Code Online (Sandbox Code Playgroud)
据我所知,当区别元素与必须被转换的元素处于同一级别时,这是使用类型信息的正确方法.但这不起作用,我总是得到同样的错误:
com.fasterxml.jackson.databind.JsonMappingException:意外的标记(END_OBJECT),期望的FIELD_NAME:缺少属性'type',包含类型id
如果我将EXTERNAL_PROPERTY更改为PROPERTY,我仍会得到相同的错误.我对EXTERNAL_PROPERTY的理解是错误的吗?
我正在玩一些JPA的东西,更改映射以了解它们应该是什么样的等等.这是基本的实验.但是我找不到一个简单地读取我的实体然后为我生成表模式的工具.我试图在JBoss工具中找到类似的东西,但是nada.Eclipse集成将是一个巨大的优势,但我会采取命令行工具或蚂蚁任务.
有任何想法吗?
我希望能够在Oracle数字字段中以毫秒为单位存储当前时间.我如何通过查询执行此操作?
select systimestamp from dual;
Run Code Online (Sandbox Code Playgroud)
返回实际的时间戳.无论如何,我可以像Java System.currentTimeMillis()那样将其转换为毫秒级吗?
是否可以对存储在依赖项中的资源(例如spring文件)应用maven过滤?
我的一个从属jar中的spring文件使用属性$ {project.artifactId}.如何对此spring文件应用过滤,以便可以在本地spring文件中导入资源?
我们使用maven依赖插件(使用maven3)在运行时解压缩依赖关系以运行一组测试.但是,由于依赖项的数量和它们的大小很大,下载完成可能需要30分钟(并非所有团队都在LAN上).我查看了maven文档,maven只下载了并行属于单独组的依赖项.有什么方法可以强制maven或maven依赖插件并行下载这些依赖项?
无论如何,我可以阻止eclipse将静态导入移到顶部吗?我们的代码在顶部没有静态导入,每次我点击组织导入时都会导致代码中的长差异.