In a way, yes. The "top level" means looking at the data from the very root of the structure. Encoder
and Decoder
are protocols that make the most sense when you're looking to decode values inside the tree, but that level of specificity doesn't make for great API when you're not the one doing the format-specific decoding. Most API consumers just care about taking their JSON Data
and getting values out of the whole data blob, not about extracting data with containers.
For a little more background, see my post in Are custom Encoders/Decoders supported? - #7 by itaiferber (and the linked post inside)
@ktoso's summary is a good way to put it, too.