当前位置: 首页 > 知识库问答 >
问题:

当使用Jackson从文本文件映射到Java对象时,如何忽略属性?[副本]

苗信鸥
2023-03-14

我有一个文本文件的输入。包含此文本的txt

{
  "product" : {
    "name" : "Pro-1",
    "category" : "A"
  }
}

还有一节课

public class  Product {
    @JsonProperty("name")
    public String name;
    @JsonProperty("category")
    public String category
    ...
    ...
}

我在利用Jackson

Product p = mapper.readValue(new File("input.txt"), Product.class);

我的类没有名为“product”的属性,因此在将json文本映射到product对象时会发生异常。那么,当从文本文件映射到产品对象时,忽略这个“产品”属性的正确方法是什么?

共有1个答案

孟智志
2023-03-14

试试这样的东西。

public class OuterClass{
    @JsonProperty("product")
    public Product product;
}

OuterClass outerObject = mapper.readValue(new File("input.txt"), OuterClass.class);

然后你可以使用它outerObject.product

 类似资料:
  • 现在,我想存储一个如下所示的文本文件: 1个苹果 香蕉2根 3橙色 4只山猫 5卡布奇诺 以此类推到数据结构中。最好的方法是以某种方式将int映射到字符串,还是我应该制作一个数组列表?当我存储单词本身时,我应该忽略int和任何空格,只保留单词本身。在行中读取时如何忽略int?这是我现在拼凑的代码: } 提前感谢您的帮助!!

  • 并将属性加载到映射中,结果为: 有什么想法如何创建一个映射策略吗?

  • 你好,我有下一个json响应: 正如你所见,我有一个资源对象,里面有许多不同的对象,但这些对象可能会根据输入的不同而有所不同。我创建了下一个pojo: 在我的输入Pojo中: 导入java。util。列表 我将资源添加为对象列表,但我可以看到它是一个对象,其中包含不同的对象。如何将这些不同的对象映射到Java中的对象?事实上,我需要计算我有多少资源,但我正在努力实现这一目标。谢谢!

  • 问题内容: 在这个例子中 如果JSON对象缺少属性“ age”, 有人说它不能反序列化。在反序列化期间是否有 注释 可以忽略丢失的字段? 谢谢 问题答案: 我想你想要的是 这就是Jackson 1.x的方式。我认为2.x中有一种新方法。就像是 这些将告诉Jackson仅序列化不为null的值,并且在反序列化缺少的值时不会抱怨。我认为它将只是将其设置为Java默认值。

  • 我想在项目中添加一个java类,但我犯了一个错误,将其添加为文本文件。然后,我删除了它,并尝试将其作为java类再次添加,但不幸的是,它不再工作了。我得到以下错误: 当我搜索时,我遇到了一些类似的解决方案,但我在下找不到或我可以按照解决方案中的建议更改的任何类似内容。 任何帮助将不胜感激。 PS:我用的是IntelliJ 2018.3.4。 提前感谢,