https://github.com/ImageMagick/ImageMagick6/issues/90
diff --git a/coders/json.c b/coders/json.c
index 213f9be..a064970 100644
--- a/coders/json.c
+++ b/coders/json.c
@@ -946,7 +946,8 @@
double
elapsed_time,
- user_time;
+ user_time,
+ version;
ImageType
type;
@@ -981,7 +982,14 @@
ping=p == (const Quantum *) NULL ? MagickTrue : MagickFalse;
(void) ping;
(void) SignatureImage(image,exception);
- JSONFormatLocaleFile(file,"{\n \"image\": {\n \"name\": %s,\n",
+ (void) FormatLocaleFile(file,"\n{\n");
+ version=1.0;
+ artifact=GetImageArtifact(image,"json:version");
+ if (artifact != (const char *) NULL)
+ version=StringToDouble(artifact,(char **) NULL);
+ if (version >= 1.0)
+ (void) FormatLocaleFile(file," \"version\": \"%.1f\",\n",version);
+ JSONFormatLocaleFile(file," \"image\": {\n \"name\": %s,\n",
image->filename);
if (*image->magick_filename != '\0')
if (LocaleCompare(image->magick_filename,image->filename) != 0)
@@ -1033,8 +1041,12 @@
if (image->type != type)
JSONFormatLocaleFile(file," \"baseType\": %s,\n",
CommandOptionToMnemonic(MagickTypeOptions,(ssize_t) image->type));
- JSONFormatLocaleFile(file," \"endianness\": %s,\n",
- CommandOptionToMnemonic(MagickEndianOptions,(ssize_t) image->endian));
+ if (version < 1.0)
+ JSONFormatLocaleFile(file," \"endianess\": %s,\n",
+ CommandOptionToMnemonic(MagickEndianOptions,(ssize_t) image->endian));
+ else
+ JSONFormatLocaleFile(file," \"endianness\": %s,\n",
+ CommandOptionToMnemonic(MagickEndianOptions,(ssize_t) image->endian));
locate=GetImageArtifact(image,"identify:locate");
if (locate == (const char *) NULL)
locate=GetImageArtifact(image,"json:locate");