2015-12-17 12 views
6

私は私のNSDictionaryはそのようなものです ....次のような問題に苦しんでいます:Swift(iOS、Xcode)でNSDictionaryをJson Stringに変換するには?

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 Stringを取得できますか? 速く、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

swift 3もご覧くださいhttps://stackoverflow.com/a/29625483/5790492 –

関連する問題