Skip to main content

Posts

Showing posts from February, 2018

Parse JSON Data with GET Method Using JsonDecoder in iOS

Parse JSON Data(GET Method) in UITableViewCell Using JsonDecoder Swift 4 & Xcode 9

1) -- ViewController Class
First Create a new Project (ParseDataGETMethod) after make a struct (GetJsonData) type data parameter

import UIKit
struct GetJsonData:Decodable { let name: String let capital: String let alpha2Code: String let alpha3Code: String let region: String let subregion: String } class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { var arrData = [GetJsonData]() @IBOutletvar tableView: UITableView! overridefunc viewDidLoad() { super.viewDidLoad() getJSONData() } func getJSONData(){ let url = URL(string: "https://restcountries.eu/rest/v2/all") let session = URLSession.shared session.dataTask(with: url!) { (data, response, error) in do{ if error == nil { self.arrData = tryJSONDecoder().decode([GetJsonData].self, from: data!) formainarr inself.arrData{ // print(mainarr.name, ":", mainarr.capital, "-", mainarr.alpha2Code ) DispatchQueue.main.sync { s…

One Line JSON Parsing Swift 4 Simple Example

 One Line Parsing JSON in Swift 4.0 With Codable or Decodle

 Swift 4 includes a new way to generate and parse JSON with Swift Codable protocol.


 JSON:-
{
"name" = Rahul'
"id" = 10
"collage" = RTS Collage
"code" = A190
}
 Start:-
 import UIKit
struct  Profile: Codable {
let name: String
let id: Int
let  collage: String
let code: String

 Convert Item(Profile) to JSON
 init?(json: [String: Any]){
 guard let name = json["name" ] as?  String,
           let id= json["id" ] as?  Int,
           let collage= json["collage"  ]as?  String,
           let code= json["code" ] as?  String, else { return nil}
 self.name = name
self.id = id
self.collage = collage
self.code = code
}
}
class ViewController: UIViewController {
  guard let url = URL(string: "https://xxxxxxxxxx") else {return}
  URLSession.shared.dataTask(with: url) { (data, response  , error) in   
   guard let data = data else {return}
    do{
           let decoder = try JS…