Indeed! There is at least one other difference, which is that the presence of null characters will cause an error in `jsonb`, but not `json`:
# select '{ "id": "\u0000" }'::json;
-> { "id": "\u0000" }
# select '{ "id": "\u0000" }'::jsonb;
-> ERROR: unsupported Unicode escape sequence