Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // ContentView.swift
- // JSONListApp
- //
- // Created by Dev on 17/10/2019.
- // Copyright © 2019 jdc0rp. All rights reserved.
- //
- import SwiftUI
- import Combine
- struct Item : Decodable {
- let product_name : String
- }
- struct Product : Decodable {
- let product_name : String
- }
- class NetworkManager : ObservableObject {
- var didChange = PassthroughSubject<NetworkManager, Never>()
- var items = [Item]() {
- didSet {
- didChange.send(self)
- }
- }
- init() {
- guard let url = URL(string : "https://world.openfoodfacts.org/api/v0/product/737628064502.json") else { return }
- URLSession.shared.dataTask(with: url) { (data, response, error) in
- guard let data = data else { return }
- //print("Data is : \(data) ")
- let json = try! JSONSerialization.jsonObject(with: data, options: []) as? [[String : Any]]
- //print(json)
- print("Converting to array")
- let dictionary = json as? [String : Any]
- let product = dictionary?["product"]
- print(product)
- print("Completed fetching json data")
- }.resume()
- }
- }
- struct ContentView: View {
- @State var networkManager = NetworkManager()
- var body: some View {
- NavigationView {
- List {
- ForEach(networkManager.items, id: \.product_name) { item in
- Text(item.product_name)
- }
- }.navigationBarTitle(Text("Items"))
- }
- }
- }
- struct ContentView_Previews: PreviewProvider {
- static var previews: some View {
- ContentView()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement