Java JacksonUtils readTree未正确解析
在JAX_RS服务器端点中,服务应该正确解析以下内容:Java JacksonUtils readTree未正确解析,java,json,jackson,Java,Json,Jackson,在JAX_RS服务器端点中,服务应该正确解析以下内容: {"user_id":"ngerrie"} 返回时可以正确呈现的JsonNode String sampleRole="{\"user_id\":\"vespasian\"}" List result = new List<Object> result.add(new ObjectMapper().readTree(sampleRole)); 它不获取{“user_id”:“ngerrie”},而是返回以下内容:
{"user_id":"ngerrie"}
返回时可以正确呈现的JsonNode
String sampleRole="{\"user_id\":\"vespasian\"}"
List result = new List<Object>
result.add(new ObjectMapper().readTree(sampleRole));
它不获取{“user_id”:“ngerrie”}
,而是返回以下内容:
{
"array": false,
"bigDecimal": false,
"bigInteger": false,
"binary": false,
"boolean": false,
"containerNode": true,
"double": false,
"float": false,
"floatingPointNumber": false,
"int": false,
"integralNumber": false,
"long": false,
"missingNode": false,
"null": false,
"number": false,
"object": true,
"pojo": false,
"short": false,
"textual": false,
"valueNode": false,
"nodeType": "OBJECT"
}
该类是com.fasterxml.jackson.databind.ObjectMapper
g:com.fasterxml.jackson.core a:数据绑定v:2.8.7
这些更改是在升级之后开始的。我不知道是什么导致了这个特定错误,但我最终恢复了我的分支,创建了一个全新的Eclipse工作区和Tomcat服务器实例。据我所知,我使用的版本与代码运行时使用的版本相同。但遗憾的是,不知何故,它只是变得更容易烧毁和重建。如果我不得不猜测,@Mormegil可能没有错。这似乎对Jackson没有问题,因为该示例在Spring web应用程序中运行得很好。@Rad您使用的是我提到的示例,还是Jackson或其他软件包中的某个示例?与上述代码完全相同的版本。顺便说一句,预期的结果是一个数组而不是一个对象。我建议创建一个示例项目来重现问题,并将链接添加到帖子中。这可能与解析无关,问题在于结果的序列化(无论是从头开始解析还是手动构造)。这可能是由库版本不匹配引起的。请参阅
{
"array": false,
"bigDecimal": false,
"bigInteger": false,
"binary": false,
"boolean": false,
"containerNode": true,
"double": false,
"float": false,
"floatingPointNumber": false,
"int": false,
"integralNumber": false,
"long": false,
"missingNode": false,
"null": false,
"number": false,
"object": true,
"pojo": false,
"short": false,
"textual": false,
"valueNode": false,
"nodeType": "OBJECT"
}