2017-12-05 3 views
0

json에서 URL 요청 (사전 "차량")을 읽으려고하지만 배열이 비어 있습니다. 이것은 json이며 사전과 URL을 읽을 필요가 있습니다. 차량JSON 파일에서 URL HTTPS 읽기

{ 
"count": 87, 
"next": "https://swapi.co/api/people/?page=2", 
"previous": null, 
"results": [ 
    { 
     "name": "Luke Skywalker", 
     "height": "172", 
     "mass": "77", 
     "hair_color": "blond", 
     "skin_color": "fair", 
     "eye_color": "blue", 
     "birth_year": "19BBY", 
     "gender": "male", 
     "homeworld": "https://swapi.co/api/planets/1/", 
     "films": [ 
      "https://swapi.co/api/films/2/", 
      "https://swapi.co/api/films/6/", 
      "https://swapi.co/api/films/3/", 
      "https://swapi.co/api/films/1/", 
      "https://swapi.co/api/films/7/" 
     ], 
     "species": [ 
      "https://swapi.co/api/species/1/" 
     ], 
     "vehicles": [ 
      "https://swapi.co/api/vehicles/14/", 
      "https://swapi.co/api/vehicles/30/" 
     ], 

에 이것은 내가 JSON vehicles에서

if let results = json["results"] as? [[String : AnyObject]] { 

        var finalArray2 : [String] = [] 
        for result in results { 
         if let dict = result as? [String: Any], let vehicles = dict["vehicles"] as? String{ 
          self.URLveicoli = vehicles 
          //print(self.nomepersonaggio) 
          print(self.URLveicoli) 
          //finalArray.append(name) 
          finalArray2.append(vehicles) 

         } 
        } 
        print(finalArray2) 

       } 

답변

1

문자열 (URL을)의 배열이 아닌 문자열입니다 시도하는 코드입니다.

변경이

let vehicles = dict["vehicles"] as? String 

let vehicles = dict["vehicles"] as? [String] 

및 vechicles의 배열

finalArray2.append(contentsOf: vehicles) 
+0

유형의 값을 변환 할 수 없습니다 '[문자열]'예상 인수 유형으로 '문자열'을 추가하는 – YouFred

+0

배열에 배열을 추가하려면'append (contentsOf :)'메소드를 사용하십시오. – Bilal