J'obtiens l'erreur suivante de NSURLConnection connectionDidFinishLoading
"L'opération n'a pas pu aboutir. (Erreur de cacao 3840.)" (Le texte JSON N'a pas commencé par un tableau ou un objet, et l'option n'autorisait pas les fragments. ne démarre pas avec tableau ou objet et option pour autoriser les fragments non définis}
J'ai utilisé le code suivant:
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSError *error;
id json = [NSJSONSerialization JSONObjectWithData:_urlData options:kNilOptions error:&error];
if (error) {
NSLog(@"Loading Error = %@",error);
}
}
Ce qui suit est ma réponse json:
{
"result":"success",
"details":[
{
"id":"11531",
"user_name":"",
"fullname":"aa",
"email_address":"aa",
"user_type":"a",
"server":"",
"server_email":"",
"server_password":"",
"password":"0cc175b9c0f1b6a831c399e269772661",
"clean_password":"a",
"gender":"",
"ceo_name":"",
"ceo_picture":"",
"ceo_contact":"",
"ceo_contact_pic":"",
"company_name":"a",
"freight_company_name":"",
"freight_company_email":"",
"company_url":"11531",
"company_keyword":"",
"company_description":"",
"address":"",
"province":"",
"postal_code":"",
"phone_number":"",
"fax_number":"",
"website":"",
"city":"",
"b_category":"",
"main_products":"",
"cellphone":"a",
"country":"0",
"states":"",
"company_status":"1",
"joindate":"0",
"varificationcode":"",
"activation_status":"1",
"new_email":"",
"email_activation_status":"",
"facebook_url":"",
"Twitter_url":"",
"company_update_status":"0",
"last_access_date":"0000-00-00",
"ip_address":"",
"ip_block":"0",
"user_id":null,
"company_id":null,
"video_url":"",
"oauth_uid":"",
"oauth_provider":"",
"get_color":"",
"comp_name_size":"13",
"member_type":"",
"mark_status":"1",
"ip_address_intension":"",
"fbId":"",
"twitterId":"",
"profile_picture":"",
"device_token":""
}
]
}
J'ai essayé toutes les solutions dans stackOverflow mais dans la veine.
Définissez la valeur de l'option sur NSJSONReadingAllowFragments
au lieu de kNilOptions
J'ai testé votre code JSON en le prenant dans un fichier local.
id json = [NSJSONSerialization JSONObjectWithData:contentOfLocalFile
options:NSJSONReadingAllowFragments
error:&deserializingError];
NSLog les données réelles que vous obtenez, pas la chaîne et vérifiez les premiers octets. JSONSerializer n'a pas trouvé un {ou un [comme premier caractère. Vous avez donc probablement des octets de zéro, des marques d'ordre des octets ou d'autres caractères invisibles de ce type.
En plus de la réponse de Janmenjaya, j'aimerais ajouter: -
J'ai fait face à ce problème deux fois dans différentes API. Le problème à chaque fois que j'avais était
S'il vous plaît assurer ces cas aussi.