2015-02-12 11 views
7

Wie konvertiert man NSDictionary in NSString, das JSON von NSDictionary enthält? Ich habe versucht, aber ohne ErfolgWie konvertiert man NSDictionary in NSString, die json von NSDictionary in Swift enthält?

//parameters is NSDictionary 

let jsonData:NSDictionary = NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers , error: &error) as NSDictionary 

ich konvertieren wollen diese NSDictionary Json zu NSString in schnellen

+0

Ihre Frage wurde beantwortet: http://stackoverflow.com/questions/6368867/generate-json-string-from-nsdictionary –

+0

Ich möchte NSDictionary Json zu NSstring mit Swift – Gayathri

+0

konvertieren können Sie bitte dabei helfen? – Gayathri

Antwort

14

Sie können den folgenden Code verwenden:

var error: NSError? 
var dict: NSDictionary = [ 
    "1": 1, 
    "2": "Two", 
    "3": false 
] 

let data = NSJSONSerialization.dataWithJSONObject(dict, options: NSJSONWritingOptions.PrettyPrinted, error: &error) 

if let data = data { 
    let json = NSString(data: data, encoding: NSUTF8StringEncoding) 
    if let json = json { 
     println(json) 
    } 
} 

ein NSDictionary Gegeben wird serialisiert als NSData , dann umgewandelt in NSString.

Der Code die Umwandlung tun können auch mehr neu geschrieben werden prägnant:

Swift 3:

do { 
     let jsonData = try JSONSerialization.data(withJSONObject: data) 
     if let json = String(data: data, encoding: .utf8) { 
      print(json) 
     } 
    } catch { 
     print("something went wrong with parsing json") 
    } 

Ursprüngliche Antwort:

if let data = NSJSONSerialization.dataWithJSONObject(dict, options: NSJSONWritingOptions.PrettyPrinted, error: &error) { 
    if let json = NSString(data: data, encoding: NSUTF8StringEncoding) { 
     println(json) 
    } 
} 

Beachten Sie, dass, um für Die Serialisierung, um das Wörterbuch zu bearbeiten, muss gültige JSON-Schlüssel und Werte enthalten.

+0

Vielen Dank .Ist Arbeiten – Gayathri

+0

funktioniert es für verschachtelte Wörterbuch? –

+0

@EyalBenYehuda die offensichtlichste Antwort auf Ihre Frage ist: __just versuchen Sie es____! Sie sollten jede mögliche Antwort finden, indem Sie [die Dokumentation] lesen (https://developer.apple.com/reference/foundation/jsonserialization), aber die Antwort ist ja, es funktioniert mit verschachtelten Wörterbüchern und Arrays – Antonio

Verwandte Themen