2015-10-20 1 views
1

s'il vous plaît aidez-moi n'importe qui j'essaie de convertir NSString en JSON pour prendre des données spécifiques de cette chaîne. C'était ma chaîne et j'essaye de convertir de NSString en JSON. Cette chaîne était récupérée dynamiquement dans ce jsonString qui était je colle dans cette chaîne ci-dessous.Comment convertir NSString dynamique en format JSON sous iOS?

NSString *jsonString = @"{status=success&unmappedstatus=captured&instrument_type=iOS&}"; 
NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 

le résultat sera affiché comme nul que je affiche dans NSLog et même en vue UIalert

NSLog(@"-->>JSON_data: %@",json); 

s'il vous plaît aidez-moi quelqu'un pour ce ..

+1

1. Vous obtenez toujours données NSData premier. Evitez de le convertir en NSString mais passez le directement à JSONObjectWithData. 2. Cette chaîne n'est pas JSON. Cela ressemble un peu à JSON, mais ce n'est pas JSON. 3. Découvrez d'où vient cette chaîne et quel format elle est censée être. – gnasher729

+0

thats chaîne est selon ma réponse de succès api .. j'ai besoin de comment aligner la chaîne comme @maya réponse analyse ... –

Répondre

0

Il retourne nil si elle ne analyser. Utilisez quelque chose comme ce qui suit pour obtenir la description de l'erreur:

NSError *error; 
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; 
if (error) { 
    NSLog(@"%@", error.localizedDescription); 
} 
6

Vous devez stocker votre chaîne comme

NSString *jsonString = @"{\"status\":\"success&amp\",\"unmappedstatus\":\"captured&amp\",\"instrument_type\":\"iOS&amp\"}"; 
    NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 
    id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 

Espérons que cela vous aidera

+0

merci @maya son travail .. mais cette chaîne est aussi dynamique, comment aligner cette chaîne comme vous l'avez mentionné .. –

0

La chaîne ce que vous essayez de convertir en NSData et que de retour à JSON n'est pas une chaîne JSON valide.

Par conséquent, vous obtenez des données JSON nulles. Ce est ce que votre chaîne devrait ressembler à:

{ 
"status":"success&amp", 
"unmappedstatus" : "captured&amp" , 
"instrument_type" : "iOS&amp" 
} 

Vous pouvez valider une chaîne JSON sous ce lien: http://www.jsoneditoronline.org/

+0

Oui bro son affichage indéfini .. cela signifie que cette chaîne était faux un droit, s'il vous plaît dire comment aligner correctement si vous le savez .. Merci .. –

+0

bien c'est faisable à coup sûr, vous devez trouver un peu logique dans la chaîne basée sur ce que vous pouvez analyser dans ce formulaire. Peut-être qu'il vaudrait la peine de reconsidérer ce dont vous avez besoin. – dirtydanee

+0

J'ai besoin d'aligner la chaîne comme n'importe quel @maya montré dans la chaîne qui fonctionne bien pour moi, –