I get the following error from NSURLConnection connectionDidFinishLoading
"The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x7b71dbb0 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
I used the following code :
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSError *error;
id json = [NSJSONSerialization JSONObjectWithData:_urlData options:kNilOptions error:&error];
if (error) {
NSLog(@"Loading Error = %@",error);
}
}
The following is my json response :
{
"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":""
}
]
}
I have tried all the solutions in stackOverflow but in vein.
Set option value to NSJSONReadingAllowFragments
instead of kNilOptions
I have tested your JSON taking it in a local file
id json = [NSJSONSerialization JSONObjectWithData:contentOfLocalFile
options:NSJSONReadingAllowFragments
error:&deserializingError];
NSLog the actual data that you are getting, not the string, and check the first bytes. JSONSerializer didn't find a { or a [ as the first character, so you probably have some zero bytes, or byte order marks, or some other invisible characters like that.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With