J'ai un dictionary
besoin de générer un JSON string
en utilisant dictionary
. Est-il possible de le convertir? Pouvez-vous aider les gars à ce sujet?
ios
objective-c
json
string
ChandraSekhar
la source
la source
Réponses:
Voici des catégories pour NSArray et NSDictionary pour rendre cela super facile. J'ai ajouté une option pour la jolie impression (nouvelles lignes et onglets pour faciliter la lecture).
.
.
.
la source
NSUTF8StringEncoding
c'est le bon encodage?NSNumber
,NSString
etNSNull
- trouveront dans une minute ou deux!Apple a ajouté un analyseur et sérialiseur JSON dans iOS 5.0 et Mac OS X 10.7. Voir NSJSONSerialization .
Pour générer une chaîne JSON à partir d'un NSDictionary ou NSArray, vous n'avez plus besoin d'importer de framework tiers.
Voici comment faire:
la source
NSArray
etNSDictionary
rendrait sa réutilisation beaucoup plus simple.[NSJSONSerialization JSONObjectWithData:options:error:]
retourne un objec de la Fondation à partir de données JSON donnéesPour convertir un NSDictionary en NSString:
la source
REMARQUE: cette réponse a été donnée avant la sortie d'iOS 5.
Obtenez le framework json et procédez comme suit:
myDictionary
sera votre dictionnaire.la source
Vous pouvez également le faire à la volée en entrant ce qui suit dans le débogueur
la source
error: use of undeclared identifier 'NSUTF8StringEncoding'
Vous pouvez transmettre un tableau ou un dictionnaire. Ici, je prends NSMutableDictionary.
Pour générer une chaîne JSON à partir d'un NSDictionary ou NSArray, vous n'avez pas besoin d'importer de framework tiers. Utilisez simplement le code suivant: -
la source
la source
+[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'
erreur. Utilisation de XCode 9.0Dans Swift (version 2.0) :
la source
Maintenant, pas besoin de classes tierces ios 5 a introduit Nsjsonserialization
ce code peut être utile pour obtenir des jsondata.
la source
NSJSONReadingMutableLeaves | NSJSONReadingMutableContainers
.Dans Swift, j'ai créé la fonction d'assistance suivante:
la source
Depuis ISO7 au moins, vous pouvez facilement le faire avec NSJSONSerialization .
la source
Voici le Swift 4 version
}
Exemple d'utilisation
Ou si vous êtes sûr qu'il s'agit d'un dictionnaire valide, vous pouvez utiliser
la source
Cela fonctionnera dans swift4 et swift5.
la source
Celui-ci est assez proche du style d'impression Objective-C original
la source