Skip to content

Instantly share code, notes, and snippets.

@JayachandraA
Created December 28, 2018 10:47
Show Gist options
  • Select an option

  • Save JayachandraA/c26971a3ee445615b0692b3decbb597b to your computer and use it in GitHub Desktop.

Select an option

Save JayachandraA/c26971a3ee445615b0692b3decbb597b to your computer and use it in GitHub Desktop.

Revisions

  1. JayachandraA created this gist Dec 28, 2018.
    28 changes: 28 additions & 0 deletions reading_local_json_file.swift
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@

    if let resource = Bundle.main.url(forResource: "US zip (postal) codes", withExtension: "json"),
    let postalCodesData = try? Data(contentsOf: resource, options: Data.ReadingOptions.alwaysMapped){
    do{
    let decodedObject = try JSONDecoder().decode(PostalCodeResponse.self, from: postalCodesData)
    DispatchQueue.main.async { [weak self] in
    // update UI
    }
    }catch let parsingError {
    print(parsingError)
    }
    }



    //helpers
    struct PostalCode: Codable {
    var city: String
    var loc: [Double]
    var pop: Int
    var state: String
    var _id: String
    }


    struct PostalCodeResponse: Codable {
    var codes: [PostalCode]
    }