Untitled
unknown
plain_text
a month ago
11 kB
3
Indexable
import javax.swing.*; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; class jsonValue { String JsonVal = ""; jsonObject JsonObj = new jsonObject(); jsonArray JsonArr = new jsonArray(); int type; static class jsonObject { HashMap<String, jsonValue> JsonObjhash = new HashMap<>(); public static ArrayList<String> splitobject(String a, String check) { ArrayList<String> javab = new ArrayList<>(); for (int i = 0; i < a.length(); i++) { if (check.charAt(i) == '0' && a.charAt(i) == ':') { String l = a.substring(0, i); String l2 = a.substring(i + 1, a.length()); String l3 = check.substring(i + 1, a.length()); javab.add(l); javab.add(l2); javab.add(l3); return javab; } } javab.add("null"); javab.add("mds"); javab.add("fknd"); return javab; } public static jsonObject buildjsonobject(String a, String check) { ArrayList<ArrayList<String>> javab = narahat(a, check); jsonObject javabf = new jsonObject(); if (javab.isEmpty()) return javabf; ArrayList<String> javab2 = new ArrayList<>(javab.get(0)); ArrayList<String> javab3 = new ArrayList<>(javab.get(1)); for (int i = 0; i < javab2.size(); i++) { ArrayList<String> mo = new ArrayList<>(); mo = splitobject(javab2.get(i), javab3.get(i)); String key = mo.get(0); jsonValue value = buildjsonvalue(mo.get(1), mo.get(2)); javabf.JsonObjhash.put(key, value); } return javabf; } } static class jsonArray { ArrayList<jsonValue> JsonArr = new ArrayList<>(); public static jsonArray buildjsonarray(String a, String check) { ArrayList<ArrayList<String>> javab = new ArrayList<>(); javab = narahat(a, check); ArrayList<String> javab2 = new ArrayList<>(); ArrayList<String> javab3 = new ArrayList<>(); javab2 = javab.get(0); javab3 = javab.get(1); jsonArray javabf = new jsonArray(); for (int i = 0; i < javab2.size(); i++) { jsonValue jv = buildjsonvalue(javab2.get(i), javab3.get(i)); javabf.JsonArr.add(jv); } return javabf; } } public static ArrayList<ArrayList<String>> narahat(String a, String check) { ArrayList<String> javab = new ArrayList<>(); ArrayList<String> javab2 = new ArrayList<>(); ArrayList<ArrayList<String>> javabf = new ArrayList<>(); if (a.length() == 2) return javabf; int counterA = 0; int counterK = 0; String za = ""; String add = ""; for (int i = 1; i < a.length() - 1; i++) { if (check.charAt(i) == '0') { if (a.charAt(i) == '{') { counterA++; } if (a.charAt(i) == '}') { counterA--; } if (a.charAt(i) == '[') { counterK++; } if (a.charAt(i) == ']') { counterK--; } } if (counterA == 0 && counterK == 0 && check.charAt(i) == '0') { if (a.charAt(i) == ',') { javab.add(za); javab2.add(add); za = ""; add = ""; continue; } } add += check.charAt(i); za += a.charAt(i); } javab.add(za); javab2.add(add); javabf.add(javab); javabf.add(javab2); return javabf; } public static String dalqak(String a) { String javab = ""; boolean test = false; for (int i = 0; i < a.length(); i++) { if (a.charAt(i) == '\\') { javab += "11"; i++; continue; } if (a.charAt(i) == '"') { if (!test) { test = true; javab += "0"; } else { test = false; javab += "0"; } } else if (test) { javab += "1"; } else { javab += "0"; } } return javab; } public static int isjsonvalue(String a, String check) { if (a.charAt(0) == '{') { return 2; } if (a.charAt(0) == '[') { return 3; } else return 1; } public static jsonValue buildjsonvalue(String a, String check) { int l = isjsonvalue(a, check); jsonValue javab = new jsonValue(); javab.type = l; if (l == 0) { System.out.println(0); System.exit(0); } if (l == 1) { javab.JsonVal = a; } if (l == 2) { javab.JsonArr = jsonArray.buildjsonarray(a, check); } if (l == 3) { javab.JsonObj = jsonObject.buildjsonobject(a, check); } return javab; } public static String jsonvaluetostring(jsonValue a) { String l = ""; if (a.type == 1) { l += a.JsonVal; } else if (a.type == 2) { int p = 0; l += '{'; for (String it : a.JsonObj.JsonObjhash.keySet()) { l += '"' + it + '"'; l += ':'; l += jsonvaluetostring(a.JsonObj.JsonObjhash.get(it)); if (p != a.JsonObj.JsonObjhash.keySet().size() - 1) { l += ','; } p++; } l += '}'; } else if (a.type == 3) { int p = 0; l += '['; for (int i = 0; i < a.JsonArr.JsonArr.size(); i++) { l += jsonvaluetostring(a.JsonArr.JsonArr.get(i)); if (p != a.JsonObj.JsonObjhash.keySet().size() - 1) { l += ','; } p++; } l += ']'; } return l; } public static jsonValue datatojsonvalue(ArrayList<user> users) { jsonValue javab = new jsonValue(); javab.type = 2; HashMap<String, jsonValue> javab2 = javab.JsonObj.JsonObjhash; for (int i = 0; i < users.size(); i++) { jsonValue temp = new jsonValue(); temp.type = 2; jsonValue temp2 = new jsonValue(); temp2.type = 1; jsonValue temp3 = new jsonValue(); temp3.type = 2; jsonValue temp4=new jsonValue(); temp4.JsonVal=users.get(i).password; temp2.JsonVal = String.valueOf(users.get(i).balance); for (int j = 0; j < users.get(i).history.size(); j++) { tara taratemp = users.get(i).history.get(j); jsonValue tempx = new jsonValue(); jsonValue tempx2 = new jsonValue(); jsonValue tempx3 = new jsonValue(); jsonValue tempx4 = new jsonValue(); jsonValue tempx5 = new jsonValue(); tempx2.JsonVal = taratemp.type; tempx3.JsonVal = taratemp.first; tempx4.JsonVal = String.valueOf(taratemp.balance); tempx5.JsonVal = taratemp.date; tempx2.type = 1; tempx3.type = 1; tempx4.type = 1; tempx5.type = 1; tempx.type = 3; tempx.JsonArr.JsonArr.add(tempx2); tempx.JsonArr.JsonArr.add(tempx3); tempx.JsonArr.JsonArr.add(tempx4); tempx.JsonArr.JsonArr.add(tempx5); temp3.JsonArr.JsonArr.add(tempx); } temp.JsonObj.JsonObjhash.put("balance", temp2); temp.JsonObj.JsonObjhash.put("transaction", temp3); temp.JsonObj.JsonObjhash.put("password",temp4); javab2.put(users.get(i).name, temp); } javab.JsonObj.JsonObjhash = javab2; return javab; } public static ArrayList<user> jsontouser(jsonValue a){ ArrayList<user> javab=new ArrayList<>(); for (String it:a.JsonObj.JsonObjhash.keySet()){ user jababmo=new user(); jababmo.name=it; jsonValue mova=a.JsonObj.JsonObjhash.get(it); jababmo.password=mova.JsonObj.JsonObjhash.get("password").JsonVal; jababmo.balance=Double.valueOf(mova.JsonObj.JsonObjhash.get("balance").JsonVal); ArrayList<jsonValue> temp=mova.JsonObj.JsonObjhash.get("transaction").JsonArr.JsonArr; for (int i=0;i<mova.JsonObj.JsonObjhash.get("transaction").JsonArr.JsonArr.size();i++){ tara temptara=new tara(); temptara.type=temp.get(i).JsonArr.JsonArr.get(0).JsonVal; temptara.first=temp.get(i).JsonArr.JsonArr.get(1).JsonVal; temptara.balance=Double.valueOf(temp.get(i).JsonArr.JsonArr.get(2).JsonVal); temptara.date=temp.get(i).JsonArr.JsonArr.get(3).JsonVal; jababmo.history.add(temptara); } javab.add(jababmo); } return javab; } } class user { String password; String name; double balance; ArrayList<tara> history = new ArrayList<>(); public user(){ } public user(String name, String password, double balance) { this.name = name; this.password = password; this.balance = balance; } public static void writer(ArrayList<user> a){ jsonValue temp=jsonValue.datatojsonvalue(a); String temp2=jsonValue.jsonvaluetostring(temp); Main.writefile(temp2); } } class tara { String type; double balance; String date; String first; LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH-mm-ss"); String time = now.format(formatter); public tara(){} public tara(String type, double balance, String first) { this.balance = balance; this.type = type; this.date = time; this.first = first; } }
Editor is loading...
Leave a Comment