On Jan 29, 2018, at 12:42 , Eric E. Dolecki <[email protected]> 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 ([email protected])
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 [email protected]