Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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批注无法分析布尔字段_Java_Jackson_Jackson Databind - Fatal编程技术网

Java Jackson批注无法分析布尔字段

Java Jackson批注无法分析布尔字段,java,jackson,jackson-databind,Java,Jackson,Jackson Databind,我的数据对应的Java类如下: package com.some.package; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.google.gson.reflect.TypeToken; import lombok.AllArgsConstructor; import lombok.B

我的数据对应的Java类如下:

package com.some.package;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.reflect.TypeToken;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.lang.reflect.Type;


@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class A {
    public static final Type UNMARSHALLER_TYPE = new TypeToken<A>(){}.getType();

    @JsonProperty("id")
    String id;

    @JsonProperty("name")
    String name;

    @JsonProperty("is_enabled")
    boolean isEnabled;
}
看起来jackson data binder无法解析测试中传递的json字符串。有没有可能我做错了什么?
任何帮助或指导都将不胜感激。

问题是您混合了两个不同的库
jackson
Gson
,它们属于
jackson
,您正在尝试在测试用例中使用解析

使用Gson:您可以在使用Gson时使用,您可以找到有关Gson的更多信息

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class A {
    public static final Type UNMARSHALLER_TYPE = new TypeToken<A>(){}.getType();

   @SerializedName("id")
   String id;

   @SerializedName("name")
   String name;

   @SerializedName("is_enabled")
   boolean isEnabled;
}

实际上,测试用例并不是我真正的问题。实现的逻辑也无法解析。现在我看到它已经从gson解析出来了。非常感谢,我需要学习更多关于这些。
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class A {
    public static final Type UNMARSHALLER_TYPE = new TypeToken<A>(){}.getType();

   @SerializedName("id")
   String id;

   @SerializedName("name")
   String name;

   @SerializedName("is_enabled")
   boolean isEnabled;
}
 @Test
public void testAUnmarshaller() throws IOException {
    // given
   ObjectMapper objectMapper = new ObjectMapper();
    PapiSite payload = objectMapper.readValue(RESPONSE_JSON, A.class); 

    // then
    assertNotNull(payload);
    assertTrue(payload.isEnabled());
    assertEquals("XXX", payload.getName());
}