Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jackson-使用Jackson反序列化单个值';s反序列化程序_Java_Jackson - Fatal编程技术网

Java Jackson-使用Jackson反序列化单个值';s反序列化程序

Java Jackson-使用Jackson反序列化单个值';s反序列化程序,java,jackson,Java,Jackson,我有一个Jackson ObjectMapper,它带有用于java.time.Instant(和其他类型)的自定义反序列化器。如何读取单个值而不是完整的JSON blob,例如 objectMapper.readValue("2017-02-01T00:00:00Z", Instant.class) 针对询问用例的评论的澄清: 我已经将JSON解析为 class MyConfiguration { public Instant someField; public Map<

我有一个Jackson ObjectMapper,它带有用于java.time.Instant(和其他类型)的自定义反序列化器。如何读取单个值而不是完整的JSON blob,例如

objectMapper.readValue("2017-02-01T00:00:00Z", Instant.class)
针对询问用例的评论的澄清:

我已经将JSON解析为

class MyConfiguration {
    public Instant someField;
    public Map<String, String> otherFields;

    @JsonAnyGetter
    public Map<String, String> any() {
        return otherFields;
    }

    @JsonAnySetter
    public void set(String name, String value) {
        otherFields.put(name, value);
    }
}

我知道我可以使用
@JsonSubTypes
直接映射它们,但我正在尝试使系统可扩展并且不知道实现。

回答我自己的问题,在构建的ObjectMapper上使用
convertValue

objectMapper.convertValue("2017-10-02T01:02:03Z", Instant.class)

回答我自己的问题,在构建的ObjectMapper上使用
convertValue

objectMapper.convertValue("2017-10-02T01:02:03Z", Instant.class)

这个用例是什么?如果没有JSON,那么使用JSON库没有多大意义。只需使用@pedromss,我正在解析一个YAML文件,用于具有一些动态属性(映射)的配置,我试图让接口的不同实现使用特定类型提取属性,例如
T getProperty(String prop,Map Map,Class clazz)
。你有一些JSON,你想提取一些字段并只反序列化它?@b因为你的例子没有多大意义。但是,如果你说你有一个yaml文件,也许这就是你想要的::)文本
2017-02-01T00:00:00Z
不是有效的JSON文本,因此你不能这样做<代码>“2017-02-01T00:00:00Z”将是一个有效的JSON字符串,因此
readValue(“\”2017-02-01T00:00:00Z\”,Instant.class)
可能会起作用。这方面的用例是什么?如果没有JSON,那么使用JSON库没有多大意义。只需使用@pedromss,我正在解析一个YAML文件,用于具有一些动态属性(映射)的配置,我试图让接口的不同实现使用特定类型提取属性,例如
T getProperty(String prop,Map Map,Class clazz)
。你有一些JSON,你想提取一些字段并只反序列化它?@b因为你的例子没有多大意义。但是,如果你说你有一个yaml文件,也许这就是你想要的::)文本
2017-02-01T00:00:00Z
不是有效的JSON文本,因此你不能这样做<代码>“2017-02-01T00:00:00Z”将是一个有效的JSON字符串,因此
readValue(“\”2017-02-01T00:00:00Z\”,Instant.class)
可能会起作用。