patch 8.2.0155: warnings from MinGW compiler; tests fail without +float

Problem:    Warnings from MinGW compiler. (John Marriott) Json test fails when
            building without +float feature.
Solution:   Init variables. Fix Json parsing. Skip a few tests that require
            the +float feature.
diff --git a/src/json.c b/src/json.c
index 6d7b193..da0ba4b 100644
--- a/src/json.c
+++ b/src/json.c
@@ -761,9 +761,9 @@
 		    break;
 
 		default:
-		    if (VIM_ISDIGIT(*p) || (*p == '-' && VIM_ISDIGIT(p[1])))
+		    if (VIM_ISDIGIT(*p) || (*p == '-'
+					&& (VIM_ISDIGIT(p[1]) || p[1] == NUL)))
 		    {
-#ifdef FEAT_FLOAT
 			char_u  *sp = p;
 
 			if (*sp == '-')
@@ -782,6 +782,7 @@
 			    }
 			}
 			sp = skipdigits(sp);
+#ifdef FEAT_FLOAT
 			if (*sp == '.' || *sp == 'e' || *sp == 'E')
 			{
 			    if (cur_item == NULL)
@@ -889,7 +890,8 @@
 		    }
 #endif
 		    // check for truncated name
-		    len = (int)(reader->js_end - (reader->js_buf + reader->js_used));
+		    len = (int)(reader->js_end
+					 - (reader->js_buf + reader->js_used));
 		    if (
 			    (len < 5 && STRNICMP((char *)p, "false", len) == 0)
 #ifdef FEAT_FLOAT