Skip to content

Instantly share code, notes, and snippets.

@lohenyumnam
Forked from cprovatas/Data+PrettyPrint.swift
Created June 28, 2019 12:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lohenyumnam/6a02999932a1076cebbfccf5b87b986e to your computer and use it in GitHub Desktop.
Save lohenyumnam/6a02999932a1076cebbfccf5b87b986e to your computer and use it in GitHub Desktop.
Pretty print JSON string from Data in Swift 4.1 (especially useful printing to Xcode console)
import Foundation
extension Data {
var prettyPrintedJSONString: NSString? { /// NSString gives us a nice sanitized debugDescription
guard let object = try? JSONSerialization.jsonObject(with: self, options: []),
let data = try? JSONSerialization.data(withJSONObject: object, options: [.prettyPrinted]),
let prettyPrintedString = NSString(data: data, encoding: String.Encoding.utf8.rawValue) else { return nil }
return prettyPrintedString
}
}
let str = "{\"foo\": \"bar\"}".data(using: .utf8)!.prettyPrintedJSONString!
debugPrint(str)
/* prints:
{
"foo" : "bar"
}
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment