1

我想用 java jackson 库阅读这个简单的 JSONfile(我是 JSON 新手)。

你能告诉我我做错了什么吗?我错误地创建了类或 JSON 对象,或者这种将 JSON 对象转换为 Java 的方法是错误的,谢谢

现在编辑我得到这样的异常

在此处输入图像描述

这是 JSONfile 存储的内容

 {
      "id": 15,
      "name": "Steve",
      "Datax": {
        "veek": "vect",
        "seev": "vecs"
      }
    }

我有三门课

这是塞文:

public class Cevan {
    private int id;
    private String name;
    private Datax data;

    public Datax getData() {
        return data;
    }

    public void setData(Datax data) {
        this.data = data;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }
}

和 Datax:

public class Datax {
    private String veek;
    private String seev;

    public String getSeev() {
        return seev;
    }

    public String getVeek() {
        return veek;
    }

    public void setSeev(String seev) {
        this.seev = seev;
    }

    public void setVeek(String veek) {
        this.veek = veek;
    }
}

和主类:

     public class Main {
    public static void main(String[] args) throws IOException {
        ObjectMapper mapper=new ObjectMapper();
        InputStream is= Cevan.class.getClassLoader().getResourceAsStream("json2.json");
        Cevan testObj = mapper.readValue(is, Cevan.class);


    }
}

这就像我的项目看起来

4

2 回答 2

1

改变你resourseStreamReader

InputStream is=Cevan.class.getResourceAsStream("json2.json");

至:

InputStream is = this.getClassLoader().getResourceAsStream("json2.json");

并确保您json2.json的位置classpath

于 2021-02-18T18:30:30.703 回答
0

将日志文件附加为文本而不是图像应该很好。

问题应该在 json 文件中。

根据您的 java 类,json 文件应如下所示:

 {
  "id": 15,
  "name": "Steve",
  "data": {
    "veek": "vect",
    "seev": "vecs"
  }
}

请注意对象属性从“Datax”更改为“data”。

于 2021-02-18T22:21:53.130 回答