diff --git a/mio/lib/json.c b/mio/lib/json.c index d1780b7..1c0f883 100644 --- a/mio/lib/json.c +++ b/mio/lib/json.c @@ -182,7 +182,12 @@ static int invoke_data_inst (mio_json_t* json, mio_json_inst_t inst) if (inst != MIO_JSON_INST_STRING && inst != __INST_WORD_STRING) { - mio_seterrbfmt (json->mio, MIO_EINVAL, "object key not a string - %.*js", json->tok.len, json->tok.ptr); + if (inst == MIO_JSON_INST_END_ARRAY) + mio_seterrbfmt (json->mio, MIO_EINVAL, "object key not a string - "); + else if (inst == MIO_JSON_INST_END_OBJECT) + mio_seterrbfmt (json->mio, MIO_EINVAL, "object key not a string - "); + else + mio_seterrbfmt (json->mio, MIO_EINVAL, "object key not a string - %.*js", json->tok.len, json->tok.ptr); return -1; }