JSON texte n'a pas commencé avec tableau ou d'un objet et d'options pour permettre aux fragments qui n'ont pas mis
Salut, je suis nouveau dans iOS et j'essaie d'obtenir la réponse du web service à l'aide de JSON mais l'erreur suivante se produit. Merci de m'aider à le résoudre.
Erreur de Domaine=NSCocoaErrorDomain Code=3840 "L'opération ne pouvait pas être
terminé. (Cacao erreur 3840.)" JSON (texte n'a pas commencé avec le tableau ou
objet et option pour permettre à des fragments non défini.) UserInfo=0x7fd30bee0f70
{NSDebugDescription=JSON texte n'a pas commencé avec tableau ou d'un objet et
option pour permettre à des fragments non défini., NSUnderlyingError=0x7fd30bede7b0
"La demande a échoué: erreur interne du serveur (500)"}
-(void)loadFeedWithOffset:(NSInteger)Offset Limit:(NSInteger)Limit
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
// [manager.requestSerializer setValue:@"application/json; text/html" forHTTPHeaderField:@"Accept"];
// [manager.requestSerializer setValue:@"application/json; text/html; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
NSMutableDictionary *params = [NSMutableDictionary dictionary];
[params setValue:[[NSUserDefaults standardUserDefaults] objectForKey:@"UID"] forKey:@"user_id"];
[params setValue:[NSString stringWithFormat:@"%ld",(long)Offset] forKey:@"offset"];
[params setValue:[NSString stringWithFormat:@"%ld",(long)Limit] forKey:@"limit"];
[params setValue:[NSString stringWithFormat:@"%d",[AppDelegate sharedAppDelegate].intPostType] forKey:@"post_type"];
[manager POST:[NSString stringWithFormat:@"%@webservices/post/load", API_URL] parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"JSON: %@", responseObject);
if ([[responseObject objectForKey:@"status"] isEqualToString:@"fail"])
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:[responseObject objectForKey:@"message"] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
alert = nil;
}
else
{
if ([[responseObject objectForKey:@"feed"] count] > 0)
{
isOver = FALSE;
[arrFeed addObjectsFromArray:[responseObject objectForKey:@"feed"]];
searchedDataArray = [NSMutableArray arrayWithArray:arrFeed];
//searchedDataArray=arrFeed;
[tblMenuDetail reloadData];
}
else
{
isOver = TRUE;
}
[self performSelector:@selector(doneLoadingTableViewData) withObject:self afterDelay:1.0];
}
[[AppDelegate sharedAppDelegate] hideProgress];
} failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
[[AppDelegate sharedAppDelegate] hideProgress];
NSLog(@"Error: %@", error);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
alert = nil;
}];
}
quel est le json ressembler
droit de savoir, je n'obtiens pas de réponse du serveur, donc je ne sais pas la réponse est dans quel format
- Je changer le code ci-dessus, mais toujours l'erreur en provenance et l'erreur est la sérialisation.Code de réponse=-1011 "Demande a échoué: erreur interne du serveur (500)"
L'erreur pourrait être sur le côté serveur. Essayez d'utiliser le facteur ou toute autre application pour simuler une requête post à l'aide de votre
Veuillez vérifier mon code affiché ci-dessous et laissez-moi savoir si tout souci. 🙂
droit de savoir, je n'obtiens pas de réponse du serveur, donc je ne sais pas la réponse est dans quel format
- Je changer le code ci-dessus, mais toujours l'erreur en provenance et l'erreur est la sérialisation.Code de réponse=-1011 "Demande a échoué: erreur interne du serveur (500)"
L'erreur pourrait être sur le côté serveur. Essayez d'utiliser le facteur ou toute autre application pour simuler une requête post à l'aide de votre
params
comme paramètre.Veuillez vérifier mon code affiché ci-dessous et laissez-moi savoir si tout souci. 🙂
OriginalL'auteur Birendra | 2015-11-27
Vous devez vous connecter pour publier un commentaire.
C'est généralement un sujet connexe, le json n'est pas bien formatée et il n'y a rien que vous pouvez faire à ce sujet sur le côté client ....
Bien que parfois, cela se produit quand un mauvais paramètres sont envoyés à l'arrière, de sorte que vous pouvez vérifier si tous les paramètres sont corrects (type et valeur)
OriginalL'auteur edo
Essayer de régler le
content-type
commejson
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"];
vous ne signifie que json?
il n'est pas un travail même erreur se produit l'Erreur: Erreur de Domaine=com.alamofire.erreur.la sérialisation.Code de réponse=-1011 "Demande a échoué: erreur interne du serveur (500)"
il semble que vous n'êtes pas à l'envoi de données JSON dans le format attendu par le serveur.
il n'est donc pas d'erreur dans le code, mais erreur dans le format de données json et j'ai du changer le format de données qui est stocker dans le fichier json?
OriginalL'auteur Sreejith
J'ai eu le même problème avec AFNetworking, c'est parce que votre réponse provenant du serveur est tenue de chaîne et pas de JSON Dictionnaire ou d'un Tableau. Donc j'ai corrigé en ajoutant dessous de la ligne de code
Espère que ça peut fonctionner pour vous aussi. Toutes les meilleures:)
OriginalL'auteur Satyendra Pandey
Voici la solution, Utiliser code ci-dessous et qu'il fonctionnera:
OriginalL'auteur Sandip Patel - SM
Je vais avoir le même problème, je reçois une réponse chiffrée à partir du serveur, ce que j'ai fait résout le problème.
Lui donner un essai.
OriginalL'auteur AsimRazaKhan
J'ai aussi ce problème, mais si vous voulez assurez-vous que ce problème est du côté serveur ou le dos fin, alors essayez de frapper du service web à l'aide de postier et vérifier la réponse en Raw section ou dans la section Aperçu. Ces articles montre exact de la réponse que nous obtenons en utilisant le service web. Des sections de prévisualisation montre exacte de l'information ou de la question comme la ligne n°, nom de fonction, etc.
OriginalL'auteur Ajju
Ce n'est pas
JSONSerialization
ou swift erreur.Le problème vient de la réponse de l'analyse. Vous essayez de sérialiser une réponse JSON (qui DOIT être contenue dans un
Array
ouDictionary
) cependant, votre réponse est aucun de ce qui précède (le Plus souvent une simple chaîne de caractères).essayer ce code pour imprimer notre serveur de données pour l'identification des erreurs et résoudre ce problème.
OriginalL'auteur AshvinGudaliya
Dans mon cas, j'ai mis .jsonobject options: tableau, c'est pourquoi j'obtiens cette erreur.
C'est mon code ici, j'ai envoyer [ ] pour les options, plus tard, j'ai changé de tableau .allowFragments
Ma solution est..
OriginalL'auteur iOS