diff --git a/src/main/java/io/github/artemget/entrys/json/EJsonFile.java b/src/main/java/io/github/artemget/entrys/json/EJsonFile.java new file mode 100644 index 0000000..c7260e2 --- /dev/null +++ b/src/main/java/io/github/artemget/entrys/json/EJsonFile.java @@ -0,0 +1,27 @@ +package io.github.artemget.entrys.json; + +import javax.json.Json; +import javax.json.JsonObject; +import javax.json.JsonReader; +import java.io.StringReader; +import io.github.artemget.entrys.ESafe; +import io.github.artemget.entrys.Entry; +import io.github.artemget.entrys.file.EFile; + +public class EJsonFile extends ESafe { + + public EJsonFile(String path) { + this(new EFile(path)); + } + + public EJsonFile(Entry content) { + super( + () -> { + JsonReader jsonReader = Json.createReader(new StringReader(content.value())); + JsonObject object = jsonReader.readObject(); + jsonReader.close(); + return object; + } + ); + } +}