gpt4 book ai didi

java - 如何解析 "{}"空值(转换为字符串)

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:27 25 4
gpt4 key购买 nike

给定 json:

{
"name" : {}
}

我想使用com.fasterxml.jackson将其解析为以下Java对象:

class MyClass {
private String name;
}

如果你尝试一下,你会得到:

com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_OBJECT token

有什么方法可以配置 jackson 反序列化器(全局最佳),它可以将这些空对象处理为nulls而不更改属性类型(来自字符串)?

最佳答案

为此,您可以编写自己的解串器。正在关注this您扩展 StdDeserializer 并将其注册到类中。

<小时/>

作者编辑:

我已经使用了以下字符串反序列化器,它工作正常,谢谢:

public class EmptyObjectDeserializer extends StdDeserializer<String> {

public EmptyObjectDeserializer() {
this(null);
}

public EmptyObjectDeserializer(Class<?> vc) {
super(vc);
}

@Override
public String deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
JsonNode node = jp.getCodec().readTree(jp);
return node.asText("");
}
}

关于java - 如何解析 "{}"空值(转换为字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54436964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com