How to parse JSON in background thread after Alamofire request finishes?

How to parse JSON in background thread after Alamofire request finishes?

After getting JSON data from Alamofire request, I want to parse it on background thread, because, parsing process is difficult and has some logic in my case. The first idea to solve was executing a async operation on background thread with synchronous request with Alamofire. But, as I've read, Alamofire works completely asynchronously. The second solution of mine was executing a parsing JSON process in another thread after responseJSON of Alamofire gets called. After it completes, I will update my UI in main thread. Here is how it looks:

After getting JSON data from Alamofire request, I want to parse it on background thread, because, parsing process is difficult and has some logic in my case. The first idea to solve was executing a async operation on background thread with synchronous request with Alamofire. But, as I've read, Alamofire works completely asynchronously. The second solution of mine was executing a parsing JSON process in another thread after responseJSON of Alamofire gets called. After it completes, I will update my UI in main thread. Here is how it looks:

.responseJSON { (response) in //callback of Alamofire
    if response.result.isSuccess {
        let json = JSON(response.result.value!)
        DispatchQueue(label: "parsing", qos: .userInitiated).async {
            self.parseJSON(json)
            DispatchQueue.main.async {
                self.updateUI()
            }
        }
    }
}

But is it a good approach to solve this problem? I just don't want to parse a JSON on main thread, because parsing process has a couple of for loops and other operations, and, I think it cause on drawing of UI related stuff.

ios json swift

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Hire Dedicated Swift Developers

Want to create a native iOS application for your Startup? **[Hire Dedicated Swift Developers](https://hourlydeveloper.io/hire-dedicated-swift-developer/ "Hire Dedicated Swift Developers")** for end-to-end services like development, migration...

What is JSON - JSON Parsing in Swift

What is JSON and how do you parse JSON in Swift? JSON stands for JavaScript Object Notation and it's a way to represent data in a standard way. Learn how to parse JSON in Swift using the Codable protocol. We take the response JSON data from a real API call and then parse it in Swift!

10 Free Online Resources To Learn Swift Language

Swift is a fast and efficient general-purpose programming language that provides real-time feedback and can be seamlessly incorporated.

Hire iOS App Developer

Are you looking to transform your idea into an iPhone application? Hire iPhone programmer team from **[HourlyDeveloper.io](https://hourlydeveloper.io/ "HourlyDeveloper.io")** to ensure the best results, utilizing all the latest trends in iOS app...

HOW TO BUILD CUSTOM ALERT DIALOG BOX FROM SCRATCH STEP BY STEP USING SWIFT iOS XCODE 11.4

Topic: HOW TO BUILD CUSTOM ALERT DIALOG BOX FROM SCRATCH STEP BY STEP USING SWIFT iOS XCODE 11.4 Subscribe Us: http://bit.ly/2UaSC5s Find us on: Discord: htt...