XML to JSON Converter for Swift
Free online xml to json converter with Swift code examples
Working with xml to json converter in Swift? Our free online xml to json converter helps Swift developers format, validate, and process data instantly. Below you will find Swift code examples using Foundation XMLParser (built-in) so you can achieve the same result programmatically in your own projects.
Try the XML to JSON Converter Online
Use our free XML to JSON directly in your browser — no setup required.
Open XML to JSONSwift Code Example
import Foundation
let xml = "<root><user><name>Alice</name><age>30</age></user></root>"
class XMLToDict: NSObject, XMLParserDelegate {
var result: [String: Any] = [:]
var stack: [NSMutableDictionary] = [NSMutableDictionary()]
var currentKey = ""
var currentValue = ""
func parser(_ parser: XMLParser, didStartElement element: String,
namespaceURI: String?, qualifiedName: String?,
attributes: [String: String]) {
let dict = NSMutableDictionary()
stack.last?[element] = dict
stack.append(dict)
currentKey = element
}
func parser(_ parser: XMLParser, foundCharacters string: String) {
currentValue += string.trimmingCharacters(in: .whitespacesAndNewlines)
}
func parser(_ parser: XMLParser, didEndElement element: String,
namespaceURI: String?, qualifiedName: String?) {
if !currentValue.isEmpty {
stack[stack.count - 2][element] = currentValue
currentValue = ""
}
stack.removeLast()
}
}
let delegate = XMLToDict()
let parser = XMLParser(data: xml.data(using: .utf8)!)
parser.delegate = delegate
parser.parse()
let jsonData = try JSONSerialization.data(withJSONObject: delegate.stack[0], options: .prettyPrinted)
print(String(data: jsonData, encoding: .utf8)!)Quick Setup
Library: Foundation XMLParser (built-in)
// Built-in framework — no installation neededSwift Tips & Best Practices
- XMLParser is a SAX-style event-driven parser
- For simpler XML, consider SWXMLHash via SPM
- Combine XMLParser with Codable for typed results