Como consumir arquivos XML ou JSON em Swift?
Sem usar API!
Para esse tutorial usarei como exemplo o conteúdo sobre a Bíblia do thiagobodruk disponível no GitHub.
📌 Para ter acesso aos arquivos que serão usados, abra o link abaixo: https://github.com/thiagobodruk/bible/tree/master/json
- Em primeiro lugar, você deve fazer download do arquivo que você deseja, em XML ou JSON, escolhendo a linguagem e a versão desejada da bíblia.
2. Em segundo lugar, você deverá colocar no seu Xcode o arquivo JSON ou XML baixado.
3. Agora, iremos criar uma estrutura que conversará com o arquivo JSON:
▶️ Crie um arquivo chamado BookModel.
import Foundation
struct BookModel: Codable {
let abbrev: String
let chapters: [[String]]
let name: String
}
abbrev: Livros bíblicos abreviados (“Gn” -> Gênesis).
chapters: Capítulos bíblicos, sendo um Array com os versículos.
name: Nome dos livros bíblicos.
4. Em seguida iremos realizar um Decode para uma estrutura que aceite os dados do JSON:
▶️ Crie um arquivo chamado BibleController.
import Foundation
class BibleController {
var booksAA: [BookModel] = []
func fetchAA() {
do {
if let path = Bundle.main.path(forResource: "pt_aa", ofType: "json"),
let jsonData = try String(contentsOfFile: path).data(using: .utf8) {
let books = try JSONDecoder().decode([BookModel].self, from: jsonData)
self.booksAA = books
}
} catch {
print("Error fetching data: \(error)")
}
}
}
Veja a seguir o passo a passo do código:
- Crie uma variável para conversar com o BookModel.
- Faça uma função de fetchAA.
- Não esqueça de colocar o nome do arquivo corretamente e o seu tipo.
Consumir arquivos XML ou JSON em Swift sem o uso de uma API pode parecer uma tarefa desafiadora, mas com um pouco de conhecimento e prática, você perceberá que é mais simples do que parece.
Espero que este tutorial tenha sido útil e que você se sinta mais confiante para enfrentar desafios semelhantes no futuro.
Good Code!