Je ne pouvais pas savoir comment insérer une valeur booléenne (à apparaître comme clé: true code> dans la chaîne JSON) dans mon NSDictionary:
NSMutableDictionary* jsonDict = [NSMutableDictionary dictionary];
[jsonDict setValue: YES forKey: @"key"];
3 Réponses :
+ [NSNumber numberWithBool:]. Est la manière typique d'ajouter un booléen à un NSDictionary p>
Vous insérez booléens dans un dictionnaire en utilisant NSNumber code>. Dans ce cas, vous pouvez utiliser l'expression littérale
@YES code> directement, avec un littéral dictionnaire, pour en faire une seule ligne:
NSError *serializationError;
NSData *jsonData = [NSJSONSerialization
dataWithJSONObject:jsonDict
options:0 error:&serializationError];
if (!jsonData) {
NSLog(@"%s: error serializing to JSON: object %@ - error %@",
__func__, jsonDict, serializationError];
}
Je ne suis pas sûr qu'il réponde au problème ci-dessus. format JSON est différent de la façon dont NSDictionary en raison d'un booléen est représenté. Que feriez-vous s'il y a beaucoup de plate-forme qui envoient des données au format JSON et que vous voulez tous avoir la même représentation (clé: true)?
Avec littéraux Objective-C, [NSNumber numberWithBool: OUI] peut être représenté avec seulement @YES,
Vous pouvez créer votre dictionnaire comme ceci: p>
NSDictionary *jsonDict = @{@"key":@YES};