Hi, ich grüße alle!
Ich schreibe eine kleine APP für unser Unternehmen. Dabei lese ich fröhlich vie Jason request die Dinge aus
unserer Datenbank aus die ich so brauche.
Ich habe hier ein kleine Codeschnipsel (ab)geschrieben - nun habe ich in einer struct mein Ergebnis der
José drinnen - aber wie zum Himmel kann ich da einzelne Inhalte rausziehen. Ich glaub ich seh den Baum
großen Wald nicht mehr. Bestimmt saudoofe Frage - aber ich komme gerade nicht weiter.
Hier der Code den ich aus dem Internet habe.
Hier meine Frage: wie kann ich jetzt z.B. den Namen des Course einzeln ausgeben?
print(Course.name) geht nicht ... sind ja auch mehrer Course Strukturen angelegt.
Hier in dem Beispiel sind es zwei. Wie kriege ich jetzt einzeln Inhalte davon mit print() ausgegeben??
Geht gar nicht mit struct? Ok - dann wie mache ich es, dass mein Jason je "Zeile" in einem Array steht
- oder was auch immer man dafür nutzt?
Danke.
FraSo
Alles anzeigen
so sieht das übrigens im Infotext aus in xcode:
Ich schreibe eine kleine APP für unser Unternehmen. Dabei lese ich fröhlich vie Jason request die Dinge aus
unserer Datenbank aus die ich so brauche.
Ich habe hier ein kleine Codeschnipsel (ab)geschrieben - nun habe ich in einer struct mein Ergebnis der
José drinnen - aber wie zum Himmel kann ich da einzelne Inhalte rausziehen. Ich glaub ich seh den Baum
großen Wald nicht mehr. Bestimmt saudoofe Frage - aber ich komme gerade nicht weiter.
Hier der Code den ich aus dem Internet habe.
Hier meine Frage: wie kann ich jetzt z.B. den Namen des Course einzeln ausgeben?
print(Course.name) geht nicht ... sind ja auch mehrer Course Strukturen angelegt.
Hier in dem Beispiel sind es zwei. Wie kriege ich jetzt einzeln Inhalte davon mit print() ausgegeben??
Geht gar nicht mit struct? Ok - dann wie mache ich es, dass mein Jason je "Zeile" in einem Array steht
- oder was auch immer man dafür nutzt?
Danke.
FraSo
Quellcode
- //
- // ViewController.swift
- // JsonParseSwift4
- //
- // Created by Brian Voong on 6/30/17.
- // Copyright © 2017 Lets Build That App. All rights reserved.
- //
- import UIKit
- struct WebsiteDescription: Decodable {
- let name: String
- let description: String
- let courses: [Course]
- }
- struct Course: Decodable {
- let id: Int?
- let name: String?
- let link: String?
- let imageUrl: String?
- // init(json: [String: Any]) {
- // id = json["id"] as? Int ?? -1
- // name = json["name"] as? String ?? ""
- // link = json["link"] as? String ?? ""
- // imageUrl = json["imageUrl"] as? String ?? ""
- // }
- }
- class ViewController: UIViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
- let jsonUrlString = "https://api.letsbuildthatapp.com/jsondecodable/courses_missing_fields"
- guard let url = URL(string: jsonUrlString) else { return }
- URLSession.shared.dataTask(with: url) { (data, response, err) in
- //perhaps check err
- //also perhaps check response status 200 OK
- guard let data = data else { return }
- let dataAsString = String(data: data, encoding: .utf8)
- print(dataAsString)
- do {
- // let websiteDescription = try JSONDecoder().decode(WebsiteDescription.self, from: data)
- // print(websiteDescription.name, websiteDescription.description)
- let courses = try JSONDecoder().decode([Course].self, from: data)
- print(courses)
- } catch let jsonErr {
- print("Error serializing json:", jsonErr)
- }
- }.resume()
- // let myCourse = Course(id: 1, name: "my course", link: "some link", imageUrl: "some image url")
- // print(myCourse)
- }
- }
so sieht das übrigens im Infotext aus in xcode:
Quellcode
- ptional("[{\"id\":1,\"name\":\"Instagram Firebase\",\"link\":\"https://www.letsbuildthatapp.com/course/instagram-firebase\",\"imageUrl\":\"https://letsbuildthatapp-videos.s3-us-west-2.amazonaws.com/04782e30-d72a-4917-9d7a-c862226e0a93\",\"number_of_lessons\":49},{\"id\":4,\"name\":\"Kindle Basic Training\",\"link\":\"https://www.letsbuildthatapp.com/basic-training\",\"imageUrl\":\"https://letsbuildthatapp-videos.s3-us-west-2.amazonaws.com/a6180731-c077-46e7-88d5-4900514e06cf\",\"number_of_lessons\":19},{\"name\":\"Yelp\"}]")
- [JsonParseSwift4.Course(id: Optional(1), name: Optional("Instagram Firebase"), link: Optional("https://www.letsbuildthatapp.com/course/instagram-firebase"), imageUrl: Optional("https://letsbuildthatapp-videos.s3-us-west-2.amazonaws.com/04782e30-d72a-4917-9d7a-c862226e0a93")), JsonParseSwift4.Course(id: Optional(4), name: Optional("Kindle Basic Training"), link: Optional("https://www.letsbuildthatapp.com/basic-training"), imageUrl: Optional("https://letsbuildthatapp-videos.s3-us-west-2.amazonaws.com/a6180731-c077-46e7-88d5-4900514e06cf")), JsonParseSwift4.Course(id: nil, name: Optional("Yelp"), link: nil, imageUrl: nil)]
Apple abhängig
aus Hessen
aus Hessen