import java.util.Base64;
public class Base64ToJson {
public static void main(String[] args) {
String base64String = "ewogICJ1c2VybmFtZSI6ICJPa2FiZSIsCiAgImFnZSI6IDM3Cn0=";
try {
// Decode Base64 to plain text
byte[] decodedBytes = Base64.getDecoder().decode(base64String);
String decodedString = new String(decodedBytes);
// Since we can't use external JSON libraries, just pretty-print manually
String jsonString = prettyPrintJson(decodedString);
System.out.println("JSON String:\n" + jsonString);
} catch (Exception e) {
System.err.println("Error converting Base64 to JSON: " + e.getMessage());
}
}
// Very basic pretty printer for JSON-like strings
private static String prettyPrintJson(String json) {
StringBuilder pretty = new StringBuilder();
int indent = 0;
boolean inQuotes = false;
for (char c : json.toCharArray()) {
switch (c) {
case '{':
case '[':
pretty.append(c);
indent++;
break;
case '}':
case ']':
indent--;
pretty.append(c);
break;
case ',':
pretty.append(c);
break;
case '"':
pretty.append(c);
inQuotes = !inQuotes;
break;
case ':':
pretty.append(":");
break;
default:
pretty.append(c);
}
}
return pretty.toString();
}
}
/*
run:
JSON String:
{
"username": "Okabe",
"age": 37
}
*/