parser json UPDATE invalid data errors
diff --git a/src/parser_json.c b/src/parser_json.c
index d54d94a..06be6fc 100644
--- a/src/parser_json.c
+++ b/src/parser_json.c
@@ -448,10 +448,18 @@
     if (*status_p == LYJSON_ARRAY) {
         /* only [null] */
         LY_CHECK_RET(lyjson_ctx_next(lydctx->jsonctx, status_p));
-        LY_CHECK_RET(*status_p != LYJSON_NULL, LY_EINVAL);
+        if (*status_p != LYJSON_NULL) {
+            LOGVAL(lydctx->jsonctx->ctx, LYVE_SYNTAX_JSON, "Expected JSON name/[null], but input data contains name/%s.",
+                    lyjson_token2str(*status_p));
+            return LY_EINVAL;
+        }
 
         LY_CHECK_RET(lyjson_ctx_next(lydctx->jsonctx, NULL));
-        LY_CHECK_RET(lyjson_ctx_status(lydctx->jsonctx, 0) != LYJSON_ARRAY_CLOSED, LY_EINVAL);
+        if (lyjson_ctx_status(lydctx->jsonctx, 0) != LYJSON_ARRAY_CLOSED) {
+            LOGVAL(lydctx->jsonctx->ctx, LYVE_SYNTAX_JSON, "Expected array end, but input data contains %s.",
+                    lyjson_token2str(*status_p));
+            return LY_EINVAL;
+        }
 
         *type_hint_p = LYD_VALHINT_EMPTY;
     } else if (*status_p == LYJSON_STRING) {
@@ -463,6 +471,7 @@
     } else if (*status_p == LYJSON_NULL) {
         *type_hint_p = 0;
     } else {
+        LOGVAL(lydctx->jsonctx->ctx, LYVE_SYNTAX_JSON, "Unexpected input data %s.", lyjson_token2str(*status_p));
         return LY_EINVAL;
     }