import Foundation
func base64ToPrettyJSON(_ base64String: String) -> String {
do {
// Decode Base64 to plain text
guard let decodedData = Data(base64Encoded: base64String) else {
throw NSError(domain: "InvalidBase64", code: 0, userInfo: nil)
}
// Parse plain text to JSON
if let jsonObject = try JSONSerialization.jsonObject(with: decodedData, options: []) as? [String: Any] {
// Convert JSON object to pretty JSON string
let prettyData = try JSONSerialization.data(withJSONObject: jsonObject, options: [.prettyPrinted])
if let jsonString = String(data: prettyData, encoding: .utf8) {
return "JSON String:\n\(jsonString)"
}
}
return "Error: Could not convert JSON object to string"
} catch {
return "Error converting Base64 to JSON: \(error.localizedDescription)"
}
}
let base64String = "ewogICJ1c2VybmFtZSI6ICJPa2FiZSIsCiAgImFnZSI6IDM3Cn0="
print(base64ToPrettyJSON(base64String))
/* run:
JSON String:
{
"username" : "Okabe",
"age" : 37
}
*/