2015-12-17 19 views
6

mam cierpi na następujący problem .... My NSDictionary jest tak:Jak przekonwertować NSDictionary na Json String w 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] 
    ] 
] 

ale jeśli wydrukowanie tego

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

Out put Czy tak:

{ 
    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; 
     } 
    ); } 

Jak mogę uzyskać dokładny ciąg JSONA? W szybkim, Xcode?

+0

Proste rozwiązanie Sprawdź: http://stackoverflow.com/a/29628000/3378413 –

Odpowiedz

21

Nie potrzeba wdrożenia tego rodzaju skomplikowanej logiki

Można po prostu zrobić to

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

i jeśli chcesz wysłać je z API do serwera, nie trzeba nawet przekształcić go String

+0

Tak. To zadziałało .... Dziękuję ... –

+0

Spójrz tu również na szybkie 3 https://stackoverflow.com/a/29625483/5790492 –