json: a container start also ends a bare string

This stops the parser from seeing foo{bar as a single string.

This also makes a valid test work, add another small test.
This commit is contained in:
Wim Taymans 2026-02-25 17:59:08 +01:00
parent 848ac24490
commit 692590b30a
2 changed files with 8 additions and 1 deletions

View file

@ -232,7 +232,7 @@ SPA_API_JSON int spa_json_next(struct spa_json * iter, const char **value)
switch (cur) {
case '\0':
case '\t': case ' ': case '\r': case '\n':
case '"': case '#':
case '"': case '#': case '{': case '[':
case ':': case ',': case '=': case ']': case '}':
iter->state = __STRUCT | flag;
if (iter->depth > 0)