2015-12-17 27 views
6

sto soffrendo dal seguente problema .... mio NSDictionary è così:Come convertire NSDictionary in Json String in Swift (iOS, Xcode)?

var dic : NSDictionary = [ "level" : 
    [ 
     ["column" : 0,"down" : 0,"left" : 0,"right" : 0,"row" : 0,"up" : 0], 
     ["column" : 1,"down" : 0,"left" : 0,"right" : 0,"row" : 0,"up" : 0], 
     ["column" : 2,"down" : 0,"left" : 0,"right" : 0,"row" : 0,"up" : 0], 
     ["column" : 0,"down" : 0,"left" : 0,"right" : 0,"row" : 1,"up" : 0], 
     ["column" : 1,"down" : 0,"left" : 0,"right" : 0,"row" : 1,"up" : 0], 
     ["column" : 2,"down" : 0,"left" : 0,"right" : 0,"row" : 1,"up" : 0] 
    ] 
] 

Ma se stampo questo,

print(dic); or print(“\(dic)”); 

L'messo fuori è così:

{ 
    level =  (
       { 
      column = 0; 
      down = 0; 
      left = 0; 
      right = 0; 
      row = 0; 
      up = 0; 
     }, 
       { 
      column = 1; 
      down = 0; 
      left = 0; 
      right = 0; 
      row = 0; 
      up = 0; 
     }, 
       { 
      column = 2; 
      down = 0; 
      left = 0; 
      right = 0; 
      row = 0; 
      up = 0; 
     }, 
       { 
      column = 0; 
      down = 0; 
      left = 0; 
      right = 0; 
      row = 1; 
      up = 0; 
     }, 
       { 
      column = 1; 
      down = 0; 
      left = 0; 
      right = 0; 
      row = 1; 
      up = 0; 
     }, 
       { 
      column = 2; 
      down = 0; 
      left = 0; 
      right = 0; 
      row = 1; 
      up = 0; 
     } 
    ); } 

Come posso ottenere la stringa JSON esatta? In swift, xcode?

+0

Soluzione semplice Si prega di controllare: http://stackoverflow.com/a/29628000/3378413 –

risposta

21

Non c'è bisogno di implementare questo tipo di logica complessa,

Si può semplicemente fare questo

var jsonData: NSData = NSJSONSerialization.dataWithJSONObject(dictionary, options: NSJSONWritingOptions.PrettyPrinted, error: &error)! 
    if error == nil { 
     return NSString(data: jsonData, encoding: NSUTF8StringEncoding)! as String 
    } 

e se si desidera inviare con API al server, non è necessario nemmeno convertirlo in stringa

+0

Sì. Questo ha funzionato .... Grazie ... –

+0

Guarda anche qui per swift 3 https://stackoverflow.com/a/29625483/5790492 –

Problemi correlati