How is OData related to JSON:API?


Hi all,

I’m using the JSON:API specification in my current project. While I was explaining it to a developer, his answer was “that’s what OData does”. I didn’t know OData so I started to look around and, indeed, I could see some similarities.

So my question is “how is OData related to JSON:API” ?



I know this is old, but I’m going through the same thing? Anyone have an opinion on this?


OData is another hypermedia format which statically attempts to provide contextual information which allows the message to be self descriptive. The similarities you see between the two formats come from the fact that they are both the same type of solution, a way to format the data which adds context.

The idea is not unique, there many are other formats as well including collection+json, json-ld, sirien, hydra, hal, uber, and more. Each format has a different goal, and is applicable for different situations because of innate properties in their design.

If you would like an understanding of the fundamentals of the concept, I have written some guidelines on hypermedia APIs which explore some fundamental ideas of the concept and should help you understand why there are similarities between these different formats.