Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.exoticdev.fantasyworldgenerator.configuration.json;
- import org.json.simple.JSONObject;
- import org.json.simple.parser.JSONParser;
- import java.io.File;
- import java.io.FileReader;
- import java.util.ArrayList;
- import java.util.List;
- public class JSONReader {
- private Object parsed;
- public JSONReader(File file) {
- try {
- JSONParser parser = new JSONParser();
- this.parsed = parser.parse(new FileReader(file.getPath()));
- } catch (Exception exception) {
- exception.printStackTrace();
- }
- }
- private JSONObject getJSONObject(String object) {
- JSONObject jsonObject = (JSONObject) parsed;
- if(!(object.contains("."))) {
- return (JSONObject) jsonObject.get(object);
- } else {
- List<String> objects = new ArrayList<>();
- StringBuilder sb = new StringBuilder();
- for(int i = 0; i < object.length(); i++) {
- String character = Character.toString(object.charAt(i));
- if(character.equalsIgnoreCase(".")) {
- if(!(sb.toString().equalsIgnoreCase(""))) {
- objects.add(sb.toString());
- }
- sb.setLength(0);
- } else {
- sb.append(character);
- }
- }
- if(!(sb.toString().equalsIgnoreCase(""))) {
- objects.add(sb.toString());
- }
- for(String objectName : objects) {
- jsonObject = (JSONObject) jsonObject.get(objectName);
- }
- return jsonObject;
- }
- }
- private String getObject(String object) {
- if(object.contains(".")) {
- int last_dot = 0;
- for(int i = 0; i < object.length(); i++) {
- String character = Character.toString(object.charAt(i));
- if(character.equalsIgnoreCase(".")) {
- last_dot = i;
- }
- }
- String key;
- JSONObject jsonObject;
- StringBuilder key_builder = new StringBuilder();
- StringBuilder object_builder = new StringBuilder();
- for(int i = last_dot + 1; i < object.length(); i++) {
- key_builder.append(Character.toString(object.charAt(i)));
- }
- for(int i = 0; i < last_dot; i++) {
- object_builder.append(Character.toString(object.charAt(i)));
- }
- key = key_builder.toString();
- jsonObject = this.getJSONObject(object_builder.toString());
- Object finalObject = jsonObject.get(key);
- return finalObject.toString();
- }
- return null;
- }
- public int getInt(String object) {
- return Integer.parseInt(this.getObject(object));
- }
- public double getDouble(String object) {
- return Double.parseDouble(this.getObject(object));
- }
- public boolean getBoolean(String object) {
- System.out.println("Boolean: " + object + " resulted in: " + Boolean.parseBoolean(this.getObject(object)));
- return Boolean.parseBoolean(this.getObject(object));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement