...
diff --git a/coders/json.c b/coders/json.c
index df380b7..5fdb32c 100644
--- a/coders/json.c
+++ b/coders/json.c
@@ -741,7 +741,7 @@
     dataset=GetStringInfoDatum(profile)[i++];
     record=GetStringInfoDatum(profile)[i++];
     value=(IptcValue *) NULL;
-    for (j=0; j < count; j++)
+    for (j=0; j < (ssize_t) count; j++)
     {
       if ((values[j]->record == record) && (values[j]->dataset == dataset))
         value=values[j];
@@ -752,7 +752,7 @@
           sizeof(*values));
         if (values == (IptcValue **) NULL)
           break;
-        value=AcquireMagickMemory(sizeof(*value));
+        value=(IptcValue *) AcquireMagickMemory(sizeof(*value));
         if (value == (IptcValue *) NULL)
           break;
         /* Check the tag length in IptcValue when a new tag is added */
@@ -845,7 +845,7 @@
   }
   if (values != (IptcValue **) NULL)
     {
-      for (i=0; i < count; i++)
+      for (i=0; i < (ssize_t) count; i++)
       {
         value=values[i];
         (void) FormatLocaleFile(file,"        \"%s[%.20g,%.20g]\": ",
@@ -855,7 +855,7 @@
         else
           {
             (void) FormatLocaleFile(file,"[");
-            for (j=0; j < value->values_length; j++)
+            for (j=0; j < (ssize_t) value->values_length; j++)
             {
               for (k=0; value->values[j][k] != (char *) NULL; k++)
               {