swift struct to json code example

Example 1: swift parse json

let string = #"{"name": "watashi", "number": 42, "pi": 3.141592, "array": [2, 3, 5, 7, 11, 13]}"#

let data = string.data(using: .utf8)!
let object = try! JSONSerialization.jsonObject(with: data, options: [])

let jsonObject = object as! [String: Any]

let nameField   = jsonObject["name"]    as? String
let numberField = jsonObject["number"]  as? Int
let piField     = jsonObject["pi"]      as? Double
let arrayField  = jsonObject["array"]   as? [Any]

print("The name argument is \(nameField)")
print("The number is \(numberField)")
print("The value of pi is \(piField)")
print("the array value is \(arrayField)")

Example 2: swift convert array to json

func json(from object:Any) -> String? {
    guard let data = try? JSONSerialization.data(withJSONObject: object, options: []) else {
        return nil
    }
    return String(data: data, encoding: String.Encoding.utf8)
}