Swift - problem z wyciągnięciem konkretnych danych z JSON-a

0

Witam.
Obecnie buduje aplikacji na ios i ma problem z wyciągnięciem konkretnych danych z JSON , próbowałem już wiele wersji i przeglądałem już wiele poradników/postów itp ale nie znalazłem rozwiązania (Mimo ze dla mnie wydaje się ze dane są zwracane dość prosty sposób , ale jestem nowy nie znam się ;) )
Oto mój kod w swift

 let url = URL(string: "http://81.352.025.214:7342/api/sprzedarz")

        let task = URLSession.shared.dataTask(with: url!) { (data,response, error) in

            if error != nil

            {

                print("ERROR NR 1")

            }

            else {

                if let content = data

                {

                    do

                    {

                        print("Start")

                        //lista

                        let myJSON = try JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject

                        print(myJSON)

                        if let symbol = myJSON["symbol"] as? NSDictionary

                        {

                            print(symbol)

                        }

                    }

                    catch{

                        print("Bład NR 2")

                    }

                }

            }

        }

        task.resume()

    }


Jak wyciągam całego jsona nie problemu ale jak chce konkretne dane w tym przypadku " symbol " to wraca mi nic :(
i nie wiem dlaczego próbowałem rożnych sposobów .
JSON :

[
    {
        "symbol": "abc",
        "ilosc": 20
    },
    {
        "symbol": "XZY",
        "ilosc": 25
    }
]

Mozę ktoś ma pomysł co robię źle ?

0

Podstawy debugowania się kłaniają. Zapnij się w linijce "let myJSON = try..." i sprawdź jakiego typu jest efekt serializacji zamiast zakładać że to "AnyObject".
PS. zrzynając z poradników warto sprawdzać jakiej wersji języka w którym chcesz pisać dotyczą.

0

Niestety @up mylisz się, AndroidStudio posiada wbudowany debuger.

0

Krzywy Wąż - raczej się nie myli, zakładając że OP nie pisze apki na iOS-a w Android Studio.

Co do pytania, to nie jestem pewien, ale chyba powinno być tak: let myJSON = try JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers) as? [String: Any]

Więcej informacji: Working with JSON in Swift

0

**Rozwiązanie problemu : **

  func Connect() {

        let url =  "http://ipjakies:jakiisport/api/Sprzedarz"
        let UrlObj = URL(string: url)
        URLSession.shared.dataTask(with: UrlObj!){(data,response,error)in
            do{
                var Towary = try JSONDecoder().decode([towar].self , from: data!)
                for towar in Towary{
                 print(towar.symbol!)
                  print(towar.ilosc!)
                }
            }catch{
                print("we have the fucking error")
            }
        }.resume(
    }

Trzeba jeszcze tworzyć jakiś obiekt który wracał zmienne umie jest to obiekt towar

       let symbol : String?
       let ilosc : Double?

   }

1 użytkowników online, w tym zalogowanych: 0, gości: 1