2017-06-06 93 views
0

我一直在尋找每一處,但無法得到正確的答案。我收到以下結構的Json結果如何將我的JSON結果轉換爲數組或對象

{ 
    result =  { 
     "2ab5a003-0120-4c01-80f2-a237dcf4ba14" =   { 
      icon = garden; 
      id = "2ab5a003-0120-4c01-80f2-a237dcf4ba14"; 
      index = 1; 
      name = "Tafel hoek"; 
      parent = "855113f1-f488-4223-b675-2f01270f573e"; 
     }; 
     "2afd6093-ca6d-4e52-aaca-336ab76ea454" =   { 
      icon = default; 
      id = "2afd6093-ca6d-4e52-aaca-336ab76ea454"; 
      index = 11; 
      name = Badkamer; 
      parent = "9919ee1e-ffbc-480b-bc4b-77fb047e9e68"; 
     }; 
}; 
    status = 200; 
} 

因爲我不知道結果中的第一個鍵,所以我失去了單獨的項目。有沒有人可以幫助我?在此先感謝

我的代碼是:

{打印( 「錯誤」) 打印(!錯誤)

 } else { // no error 


      if let urlContent = data { // 3 

       do { // 4 

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

        print(json) 


       } catch { 

        print("JSON processing failed") 

       } // end 4 do 

      } // end 3 let urlContent 

     } // end 2 if error} 

回答

1

既然你的字典鍵result,您可以枚舉它像往常一樣:

if let result = json["result"] as? [String:[String:Any]] { 
    for (key, value) in result { 
     let name = value["name"] as! String 
     let index = value["index"] as! Int 
     print (key, name, index) 
    } 
} 
+0

感謝您的快速回答。但是,如果我使用該代碼,我得到的名稱和索引「類型」的任何'沒有下標成員「 – Heki

+0

我的不好,我更新了答案。 – vadian

+0

奇妙的是, – Heki

0

您可以發佈您的代碼,我認爲這不是一個有效的JSON格式,並告訴我,你正在努力parse.ignore該密鑰,並嘗試像往常一樣

+0

在這裏看到我的代碼,我張貼在原始問題 – Heki