Re: JSONSerialization 'Garbage at end' error
Re: JSONSerialization 'Garbage at end' error
- Subject: Re: JSONSerialization 'Garbage at end' error
- From: Jonathan Hull <email@hidden>
- Date: Wed, 30 Apr 2014 16:00:56 -0700
I also find that it is good practice to set variables returned by reference to nil before passing them.
NSError *error = nil;
Otherwise, they will contain garbage, and cannot reliably be tested to see if the value was set. Andy is right though, that it is better to test whether jsonObject is nil in this case.
Thanks,
Jon
On Apr 30, 2014, at 1:07 PM, Andy Lee <email@hidden> wrote:
> On Apr 30, 2014, at 3:21 PM, Jens Alfke <email@hidden> wrote:
>> On Apr 30, 2014, at 8:20 AM, Diederik Meijer | Ten Horses <email@hidden> wrote:
>>
>>> Now here is the problem: although the JSON parses fine and populates a UITableView without any issues, I am still getting the following error:
>>
>> If the JSON parsed fine, then the error must be coming from somewhere else. A call to JSONObjectWithData: either returns a parsed object, or returns nil and sets the error. It doesn’t do both :)
>
> Which means...
>
>> NSError *error;
>> id jsonObject = [NSJSONSerialization JSONObjectWithData:self.container options:NSJSONReadingAllowFragments error:&error];
>> if (error) {
>> NSLog(@"ERROR: %@", error);
>> }
>> else {
>
> ...you shouldn't be testing error, you should be checking whether jsonObject is nil, and only then look at the error. Doing it the wrong way around could explain false errors. For example, NSJSONSerialization could pessimistically stick an error object in there as the default error, but manage to parse successfully and return a non-nil object. But then I'm not sure how you could *also* be having your table populated with the right objects.
>
> --Andy
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden