Ich habe eine, die dictionary
ich JSON string
mithilfe von generieren muss dictionary
. Ist es möglich, es zu konvertieren? Könnt ihr bitte dabei helfen?
ios
objective-c
json
string
ChandraSekhar
quelle
quelle
Antworten:
Hier sind Kategorien für NSArray und NSDictionary, um dies ganz einfach zu machen. Ich habe eine Option für hübsches Drucken hinzugefügt (Zeilenumbrüche und Registerkarten, um das Lesen zu erleichtern).
.
.
.
quelle
NSUTF8StringEncoding
die richtige Codierung ist?NSNumber
wirdNSString
, undNSNull
- werde es in ein oder zwei Minuten herausfinden!Apple hat einen JSON-Parser und Serializer in iOS 5.0 und Mac OS X 10.7 hinzugefügt. Siehe NSJSONSerialization .
Um eine JSON-Zeichenfolge aus einem NSDictionary oder NSArray zu generieren, müssen Sie kein Framework eines Drittanbieters mehr importieren.
So geht's:
quelle
NSArray
undNSDictionary
würde die Wiederverwendung viel einfacher machen.[NSJSONSerialization JSONObjectWithData:options:error:]
gibt ein Foundation-Objekt aus den angegebenen JSON-Daten zurückSo konvertieren Sie ein NSDictionary in einen NSString:
quelle
HINWEIS: Diese Antwort wurde gegeben, bevor iOS 5 veröffentlicht wurde.
Holen Sie sich das JSON-Framework und machen Sie dies:
myDictionary
wird dein Wörterbuch sein.quelle
Sie können dies auch im laufenden Betrieb tun, indem Sie Folgendes in den Debugger eingeben
quelle
error: use of undeclared identifier 'NSUTF8StringEncoding'
Sie können ein Array oder ein Wörterbuch übergeben. Hier nehme ich NSMutableDictionary.
Um eine JSON-Zeichenfolge aus einem NSDictionary oder NSArray zu generieren, müssen Sie kein Framework eines Drittanbieters importieren. Verwenden Sie einfach folgenden Code: -
quelle
quelle
+[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'
Fehler. Verwenden von XCode 9.0In Swift (Version 2.0) :
quelle
Jetzt brauchen keine Drittanbieter-Klassen ios 5 die Nsjsonserialisierung eingeführt
Dieser Code kann nützlich sein, um jsondata abzurufen.
quelle
NSJSONReadingMutableLeaves | NSJSONReadingMutableContainers
.In Swift habe ich die folgende Hilfsfunktion erstellt:
quelle
Zumindest ab ISO7 können Sie dies problemlos mit NSJSONSerialization tun .
quelle
Hier ist die Swift 4 Version
}}
Anwendungsbeispiel
Oder wenn Sie sicher sind, dass es sich um ein gültiges Wörterbuch handelt, können Sie es verwenden
quelle
Dies funktioniert in swift4 und swift5.
quelle
Dieser ist dem ursprünglichen Objective-C-Druckstil ziemlich nahe
quelle