Clarification on namespece in attribute nested objects

Hello - I am new to json:api. I understand data fields allow for nested json objects.
I am looking for some clarification regarding namespace specification for attributes.

From JSON:API — Latest Specification (v1.1)

Fields for a resource object MUST share a common namespace with each other and with type and id . In other words, a resource can not have an attribute and relationship with the same name, nor can it have an attribute or relationship named type or id .

Does this apply to nested properties as well, which is to say I cannot have “bar” appear in both “foo” and “foo1” attributes?

...
"data": {
  "id": "1",
  "type": "yes",
   "attributes": {
     "foo": {
         "bar": "hi"
      },
     "foo1": {
          "bar": "hello"
     }
}

As I understand it, JSON:API is completely agnostic to the value/types of your attributes, so the spec isn’t concerned at all with whether your attributes are primitives, arrays, or objects. Thus, if they are objects, JSON:API is completely agnostic as to what they contain.

1 Like