我使用杰克逊将JSON转换为Object类。
JSON:
{
"aaa":"111",
"bbb":"222",
"ccc":"333"
}
对象类别:
class Test{
public String aaa;
public String bbb;
}
码:
ObjectMapper mapper = new ObjectMapper();
Object obj = mapper.readValue(content, valueType);
我的代码抛出这样的异常:
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "cccc" (Class com.isoftstone.banggo.net.result.GetGoodsInfoResult), not marked as ignorable
而且我不想在Test类上添加一个道具,我只是想让jackson转换Test中也存在的存在值。
Jackson提供了几种不同的机制来配置“额外” JSON元素的处理。以下是将ObjectMapper
to 配置为not
的示例FAIL_ON_UNKNOWN_PROPERTIES
。
import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
import org.codehaus.jackson.annotate.JsonMethod;
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.ObjectMapper;
public class JacksonFoo
{
public static void main(String[] args) throws Exception
{
// { "aaa":"111", "bbb":"222", "ccc":"333" }
String jsonInput = "{ \"aaa\":\"111\",
\"bbb\":\"222\",
\"ccc\":\"333\" }";
ObjectMapper mapper = new ObjectMapper().setVisibility(JsonMethod.FIELD,
Visibility.ANY);
mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES,
false);
Test test = mapper.readValue(jsonInput, Test.class);
}
}
class Test
{
String aaa;
String bbb;
}
有关其他方法,请参见http://wiki.fasterxml.com/JacksonHowToIgnoreUnknown
我想使用Spring的RestTemplate plus Jackson来使用Web服务。我已经学习了几本教程,并且已经达到了创建DAO的目的。这是我获取所有域对象的方法: 但我的Web服务不会立即返回Station对象数组,而是以这种方式返回一个更具语义的表达式: 所以我的问题是,我不知道如何“告诉”RestTemplate在“stations”指示符之后立即解析对象列表,而不创建临时对象,这似
当一个字段名的第二个字母大写时,杰克逊似乎有问题。 取值映射: 我使用Jackson的创建了一个Java对象。下面是一段Java代码: 我得到一条包含所有18个字段的错误消息。请注意,当大写为第二个字母时,camel大小写失败: 如果我将更改为,则该命令通过,而Jackson在上失败。 对于其他堆栈溢出文章,我已经验证了字段名和getter/setter匹配(是,是)。 如果重要的话,下面是的创建
我遇到了反序列化问题: 这是我的班级: 我要反序列化的JSON是: 我得到以下例外: 我不想补充: 因为我想得到ResObj... 如果我添加注释,它会通过,但会将其设置为null。。这是我不想要的。
问题内容: 我正在使用Jackson,但遇到问题,当我尝试反序列化对象时,出现以下错误: 我在属性中遇到问题: 有人可以帮我吗? 问题答案: 您不能实例化一个抽象类,杰克逊也不能。您应该为Jackson提供有关如何使用具体类型实例化MyAbstractClass的信息。
问题内容: 我想知道为什么没有确定的合作方式。我只想解析字符串: 但是我真的很困惑应该导入什么。根据此链接,我尝试导入。但是我得到这个编译错误: 然后我尝试导入和。因此,没有编译错误,但是我得到了此运行时异常(在mapper定义行中): 请指导我,我应该导入什么才能使用。谢谢 问题答案: 使用这些依赖项 jackson-databind jackson-annotations jackson- c
我尝试使用一些类似于以下内容的JSON(来自AlphaVantage): 并使用Jackson解析它( 我的股票类如下所示: 相反,我得到了以下错误: 为什么Jackson在连接到我的股票类时遇到问题?如何将JSON中的符号连接到Stock类中的符号? 编辑:如果我将符号更改为小写,我会收到相同的错误消息: