2015-12-17 32 views
6

Tôi đang bị các vấn đề sau đây .... My NSDictionary là như thế:Làm thế nào để chuyển đổi chuỗi NSDictionary thành Json trong 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] 
    ] 
] 

Nhưng nếu tôi in này,

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

thỏa Out là như thế:

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

Làm thế nào tôi có thể nhận được chuỗi Json chính xác? Nhanh chóng, xcode?

+0

Giải pháp đơn giản Vui lòng kiểm tra: http://stackoverflow.com/a/29628000/3378413 –

Trả lời

21

Không cần phải thực hiện các loại của logic phức tạp,

Bạn chỉ có thể làm được điều này

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

và nếu bạn muốn gửi nó với API để máy chủ, không cần phải thậm chí chuyển đổi nó để String

+0

Có. Điều này làm việc .... Cảm ơn bạn ... –

+0

Nhìn cũng ở đây cho nhanh chóng 3 https://stackoverflow.com/a/29625483/5790492 –

Các vấn đề liên quan