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 JSON

Swift 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 needed

Swift 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

Frequently Asked Questions

XML to JSON Converter in Other Languages

More Swift Tools