我有一个根jsonnode
JsonNode payloadNode;
使用以下文本值(log.warn(“有效负载节点”+payloadnode.textvalue());):
{"id":0,"uid":""}
但当我试图从该节点获取字符串值时:
JsonNode idNode = payloadNode.get("id");
我收到空的
pgky5nke1#
看看这个。用于访问字符串值的方法。不为非字符串值节点进行任何转换;对于非字符串值(ISTEXTAL()返回false的值),将返回null。对于字符串值,永远不会返回null(但可能会返回空字符串)因为它是一个文本值,所以它只是一个没有字段“id”的字符串。所以如果你有这样的东西:
String s = "{\"id\":0,\"uid\":\"\"}"; payloadNode = om.valueToTree(s);
如果您的jsonnode像我的示例中那样只是一个字符串,那么您将获得这样的日志输出。您需要以json树的形式读取可能的字符串,如下所示:
payloadNode = om.readTree(s);
执行此操作将为id和id提供“0” null 对于 textValue() .
null
textValue()
1条答案
按热度按时间pgky5nke1#
看看这个。
用于访问字符串值的方法。不为非字符串值节点进行任何转换;对于非字符串值(ISTEXTAL()返回false的值),将返回null。对于字符串值,永远不会返回null(但可能会返回空字符串)
因为它是一个文本值,所以它只是一个没有字段“id”的字符串。
所以如果你有这样的东西:
如果您的jsonnode像我的示例中那样只是一个字符串,那么您将获得这样的日志输出。您需要以json树的形式读取可能的字符串,如下所示:
执行此操作将为id和id提供“0”
null
对于textValue()
.