2014-07-21 32 views
-3

我正在嘗試從一個數組,我從JSON Web請求獲取值iOS8上斯威夫特JSON

我有以下JSON響應:

{ 
    diskspace1 = "250.888515"; 
    diskspace2 = "250.888515"; 
    "have_warnings" = 0; 
    jobs =  (
       { 
      filename = test; 
      id = "SABnzbd_nzo_LQ6Og5"; 
      mb = "428.812928"; 
      mbleft = "388.87428"; 
      msgid = ""; 
      timeleft = "0:00:00"; 
     }, 
       { 
      filename = tt; 
      id = "SABnzbd_nzo_ESYJ5N"; 
      mb = "5041.869138"; 
      mbleft = "4399.935587"; 
      msgid = ""; 
      timeleft = "0:00:00"; 
     } 
    ); 
    kbpersec = 0; 
    loadavg = "1.15 | 1.09 | 1.10 | V=1270M R=106M"; 
    mb = 0; 
    mbleft = 0; 
    noofslots = 2; 
    "pause_int" = 0; 
    paused = 0; 
    "pp_active" = 0; 
    speed = "0 "; 
    state = IDLE; 
    timeleft = "0:00:00"; 
} 

有了這個代碼,我可以打印「喬布斯「部分從我的JSON。

func searchApps(escapedSearchTerm: String) { 

    // Here iTunes API wants multiple terms separated by + symbols, so replace spaces with + signs 
    var appSearchTerm = searchTerm.stringByReplacingOccurrencesOfString(" ", withString: "+", options: NSStringCompareOptions.CaseInsensitiveSearch, range: nil) 

    // Now escape anything else that isn't URL-friendly 
    var escapedSearchTerm = appSearchTerm.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) 
    var urlPath = "" 

    var url: NSURL = NSURL(string: urlPath) 
    var session = NSURLSession.sharedSession() 
    var task = session.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in 
     println("Task completed") 
     if(error) { 
      // If there is an error in the web request, print it to the console 
      println(error.localizedDescription) 
     } 
     var err: NSError? 
     var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary 

     println("my Data is \(jsonResult)") 
     if(err?) { 
      // If there is an error parsing JSON, print it to the console 
      println("JSON Error \(err!.localizedDescription)") 
     } 
     var results: NSArray = jsonResult["jobs"] as NSArray 
     dispatch_async(dispatch_get_main_queue(), { 
      self.tableData = results 
      self.appsTable.reloadData() 
      }) 
     }) 
    task.resume() 
} 

現在到我的問題。

如何從我的JSON打印diskspace1和diskspace2值?

回答

0

你可以簡單地從我的JSON的diskspace1和diskspace2值由

jsonResult["diskspace1"] 
jsonResult["diskspace2"] 

使用下面的代碼打印diskspace1和diskspace2值

var diskSpace1 = jsonResult["diskspace1"] 
println(diskSpace1) 
var diskSpace2 = jsonResult["diskspace2"] 
println(diskSpace2) 

更多信息,以便訪問集合類型請參考collection types

+0

這很容易。謝謝 – user3861818