On Jan 29, 2018, at 12:42 , Eric E. Dolecki <edole...@gmail.com> wrote:
> 
> So this would do it?

I would strongly recommend using JSONDecoder instead of JSONSerialization. The 
errors JSONDecoder throws are AFAIK more detailed than JSONSerialization, and 
will tell you the exact location in the string of any error you find.

Also, FWIW, I beg you not to use this pattern (if you actually do, outside of 
this sample fragment):

>        let jsonData = jsonString.data(using: String.Encoding.utf8)
>       …
>            _ = try JSONSerialization.jsonObject(with: jsonData!)


but do this instead:

>        let jsonData = jsonString.data(using: String.Encoding.utf8)!
>       …
>            _ = try JSONSerialization.jsonObject(with: jsonData)


That is, don’t let optionals “escape” from the place where they first appear. 
If, in real code, you’re going to make the string decoding failure a handled 
error too, then this would of course become:

>        if let jsonData = jsonString.data(using: String.Encoding.utf8) {
>       …
>       …
>            _ = try JSONSerialization.jsonObject(with: jsonData)


where the optional still doesn’t escape from its point of appearance.

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to