Javaでjsonファイルを読み込み表示させたい
解決したいこと
JSONファイルを読み込んで、各都道府県のidと名前(short)を表示させたいです。
発生している問題・エラー
java.io.FileNotFoundException: sample.json (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
at com.fasterxml.jackson.core.TokenStreamFactory._fileInputStream(TokenStreamFactory.java:318)
at com.fasterxml.jackson.core.JsonFactory.createParser(JsonFactory.java:1208)
at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:3311)
at work_java.Lesson09.main(Lesson09.java:22)
該当するソースコード
package work_java;
import java.io.File;
import java.io.IOException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Lesson09{
public static void main(String[] args) {
// JSONファイルのパス
String filePath = "sample.json";
// ObjectMapperのインスタンスを作成
ObjectMapper objectMapper = new ObjectMapper();
try {
// JSONファイルを読み込む
JsonNode rootNode = objectMapper.readTree(new File(filePath));
// "prefectures" 配列内の各都道府県のIDと名前(short)を表示
JsonNode prefecturesNode = rootNode.get("prefectures");
for (JsonNode prefectureNode : prefecturesNode) {
int id = prefectureNode.get("id").asInt();
String nameShort = prefectureNode.get("short").asText();
System.out.println("ID: " + id + ", Name (short): " + nameShort);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
例)
自分で試したこと
エラー内容がファイルが見つからないとありますが、ファイルは画像の通り、プロジェクトの直下にあります。そのため何が原因でファイルが読み込めないのかがわかりません。
かれこれ、1週間ほど頭を悩ませています。どうか解決にご協力をお願いできますでしょうか。
0 likes