如何使用Jackson从Json文件中读取特定对象

假设我想直接从 a 读取对象水果Json file并将其存储到Fruit.class. 我该怎么做?

{
  "fruits": [
    { "name":"Apple", "price":"0.8"}
  ],
  "vegetables": [
    { "name":"Carrot", "price":"0.4"}
  ]
}

我的模型 class

public class Fruit {
    private String name;
    private double price;

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public double getPrice() { return price; }
    public void setPrice(double price) { this.price= price; }
}

我试过的:

String file = "src/main/resources/basket.json";
String json = new String(Files.readAllBytes(Paths.get(file)));
objectMapper.readValue(json, Fruit.class);

回答

您的 json 必须与您尝试转换的内容相匹配。在你的情况下,你需要

public class FruitWrapper {

   private List<Fruits> fruits;
   private List<Fruits> vegetables;

   getters, setters...

   }

那么这对你有用

 FruitWrapper fruitWrapper =  objectMapper.readValue(json, FruitWrapper.class);


以上是如何使用Jackson从Json文件中读取特定对象的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>