Elm

JSON Schema Changes: A Halloween Horror Story


You’re hacking along on your JSON decoder. Life is rosy, the birds are singing, the sun is shining, but then… you get an email: JSON Schema change.

(lightning cracks, a vampire cackles in the distance)

So how do you deal with that? You’re not just gonna give up, but your data model is already pretty set. Are you going to have to change everything?

Read on

JSON Street in Elm Town


Last week Murphy Randle had me on Elm Town as a guest to talk about JSON. We walked through the Elm JSON.Decode documentation, and talked about hairy things we’d run into. If you want a good overview of the landscape for the JSON.Decode API, give it a listen.

Read on

Composing Decoders like LEGO


First-time Elm users have a hard time learning how to compose decoders. People tend to get stuck on what they all mean, but it’s not too hard: just think of them like LEGO.

Read on

Debugging JSON


A recurring theme in the Elm community (and this blog) is that JSON is kind of difficult to get started with. This makes sense, since it’s all about dealing with data that other people provide for us. It’s hard to debug what’s happening with JSON decoders since they’re often used in HTTP response decoders. So today we’re going to talk about some general advice: how do you even debug JSON?

Read on

Decoding JSON With Dynamic Keys


Sometimes JSON just doesn’t play nice with our nice type systems. Consuming JSON from a wide variety of sources can be challenging. Even when working with an internal team you can be dealing with strange encodings. One common pattern is a JSON object with dynamic keys. How we deal with this depends on the semantics of the data, but it breaks down into two distinct patterns.

Read on