diff --git a/src/json.c b/src/json.c
index 2cc3a2a..faaeab3 100644
--- a/src/json.c
+++ b/src/json.c
@@ -378,7 +378,7 @@
 }
 
     static int
-json_decode_string(js_read_T *reader, typval_T *res)
+json_decode_string(js_read_T *reader, typval_T *res, int quote)
 {
     garray_T    ga;
     int		len;
@@ -389,8 +389,8 @@
     if (res != NULL)
 	ga_init2(&ga, 1, 200);
 
-    p = reader->js_buf + reader->js_used + 1; /* skip over " */
-    while (*p != '"')
+    p = reader->js_buf + reader->js_used + 1; /* skip over " or ' */
+    while (*p != quote)
     {
 	/* The JSON is always expected to be utf-8, thus use utf functions
 	 * here. The string is converted below if needed. */
@@ -504,7 +504,7 @@
     }
 
     reader->js_used = (int)(p - reader->js_buf);
-    if (*p == '"')
+    if (*p == quote)
     {
 	++reader->js_used;
 	if (res != NULL)
@@ -620,7 +620,8 @@
 
 	if (top_item != NULL && top_item->jd_type == JSON_OBJECT_KEY
 		&& (options & JSON_JS)
-		&& reader->js_buf[reader->js_used] != '"')
+		&& reader->js_buf[reader->js_used] != '"'
+		&& reader->js_buf[reader->js_used] != '\'')
 	{
 	    char_u *key;
 
@@ -690,7 +691,17 @@
 		    continue;
 
 		case '"': /* string */
-		    retval = json_decode_string(reader, cur_item);
+		    retval = json_decode_string(reader, cur_item, *p);
+		    break;
+
+		case '\'':
+		    if (options & JSON_JS)
+			retval = json_decode_string(reader, cur_item, *p);
+		    else
+		    {
+			EMSG(_(e_invarg));
+			retval = FAIL;
+		    }
 		    break;
 
 		case ',': /* comma: empty item */
