Since you're planning on doing some conceptual work with JSONB, just a heads upon one gotcha -
duplicate properties are not allowed. I.E.:
{
task: "do stuff",
task: "do other stuff"
}
which sometimes is useful when you have front-end data with an N-number of entries but its a form that serializes to an object instead of an array. There are other use cases too.
> [SHOULD], or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.
Not allowing duplicate keys in JSON objects is very close the exact opposite of a gotcha. Allowing and round-tripping them would be a gotcha.
duplicate properties are not allowed. I.E.:
{ task: "do stuff", task: "do other stuff" }
which sometimes is useful when you have front-end data with an N-number of entries but its a form that serializes to an object instead of an array. There are other use cases too.