diff --git a/ChangeLog b/ChangeLog
index 1b549541e2dbb67ac5b5c3b35bc00366f985b0d9..47c2f4e0edf9e5a8d62e44f5df70905860ac64e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-05-17  Benno Schulenberg  <bensberg@justemail.net>
+	* doc/syntax/json.nanorc: New file, originally from Aapo Rantalainen,
+	but edited, extended, and improved.  See Savannah patch #7410.
+
 2014-05-16  Benno Schulenberg  <bensberg@justemail.net>
 	* src/text.c, src/winio.c: Remove some more double spaces.
 	* doc/syntax/patch.nanorc: Show trailing whitespace on added lines.
diff --git a/doc/syntax/Makefile.am b/doc/syntax/Makefile.am
index 8060ef478d86424a0e4f85cfed907917a8477967..458c8165155e8b0d1ce38ec86b7c4389d56ae558 100644
--- a/doc/syntax/Makefile.am
+++ b/doc/syntax/Makefile.am
@@ -12,6 +12,7 @@ pkgdata_DATA =	asm.nanorc \
 		html.nanorc \
 		java.nanorc \
 		javascript.nanorc \
+		json.nanorc \
 		lua.nanorc \
 		makefile.nanorc \
 		man.nanorc \
diff --git a/doc/syntax/json.nanorc b/doc/syntax/json.nanorc
new file mode 100644
index 0000000000000000000000000000000000000000..0f799f169ff37b9a84573ac247a5ccc00219f048
--- /dev/null
+++ b/doc/syntax/json.nanorc
@@ -0,0 +1,32 @@
+## Syntax highlighting for JSON files.
+
+# See:  http://www.json.org/
+# Original author:  Aapo Rantalainen
+# License:  GPLv3 or newer
+
+syntax "json" "\.json$"
+
+# Numbers (used as value).
+color green ":[[:space:]]*\-?(0|[1-9][0-9]*)(\.[0-9]+)?([Ee]?[-+]?[0-9]+)?"
+# Values (well, any string).
+color brightmagenta "\".+\""
+# Hex numbers (used as value).
+color green ":[[:space:]]*\"#[0-9abcdefABCDEF]+\""
+# Escapes.
+color green "\\\\" "\\\"" "\\[bfnrt]" "\\u[0-9abcdefABCDEF]{4})"
+# Special words.
+color green "(true|false|null)"
+
+# Names (very unlikely to contain a quote).
+color brightblue "\"[^"]+\"[[:space:]]*:"
+
+# Brackets, braces, and separators.
+color brightblue "\[" "\]"
+color brightred "\{" "\}"
+color brightred "," ":"
+
+# Comments.
+color cyan "(^|[[:space:]]+)(//|#).*$"
+
+# Trailing whitespace.
+color ,green "[[:space:]]+$"