Feature proposal
When a top-level resource in db.json is an array of primitive values, such as strings or numbers, json-server can produce confusing behavior because resources usually need to be arrays of objects with id fields.
Example:
{
"roles": ["role-1", "role-2"]
}
This can lead to errors such as trying to create an id property on a string.
Suggested behavior
json-server could show a clear startup warning when a top-level resource contains primitive array items:
Warning: "roles" contains primitive values. Resources should usually be arrays of objects with id fields.
Why this helps
This would make the error easier to understand for beginners and would point users toward the expected structure:
{
"roles": [
{ "id": "role-1", "name": "role-1" },
{ "id": "role-2", "name": "role-2" }
]
}
This feature would not need to block startup. A warning may be enough to help users fix their database structure.
Feature proposal
When a top-level resource in
db.jsonis an array of primitive values, such as strings or numbers, json-server can produce confusing behavior because resources usually need to be arrays of objects withidfields.Example:
{ "roles": ["role-1", "role-2"] }This can lead to errors such as trying to create an
idproperty on a string.Suggested behavior
json-server could show a clear startup warning when a top-level resource contains primitive array items:
Why this helps
This would make the error easier to understand for beginners and would point users toward the expected structure:
{ "roles": [ { "id": "role-1", "name": "role-1" }, { "id": "role-2", "name": "role-2" } ] }This feature would not need to block startup. A warning may be enough to help users fix their database structure.