2015-12-17 79 views
6

我從以下問題的痛苦.... 我NSDictionary是這樣的:如何將Swift(iOS,Xcode)中的NSDictionary轉換爲Json字符串?

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] 
    ] 
] 

但如果我打印本,

print(dic); or print(「\(dic)」); 

外出時的說就是這樣的:

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

我如何得到確切的Json字符串? 在swift中,xcode?

+0

簡單的解決方案請檢查:http://stackoverflow.com/a/29628000/3378413 –

回答

21

沒有必要實施這種複雜的邏輯,

你可以簡單地這樣做

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

,如果你想與API服務器發送它,甚至不需要將其轉換爲字符串

+0

是的。這工作....謝謝你... –

+0

也請看這裏爲迅速3 https://stackoverflow.com/a/29625483/5790492 –

相關問題