Untitled
unknown
plain_text
7 months ago
11 kB
5
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