If JSON requires the string to be double-quoted, then it's more convenient to use singe quotes, since your embedded JSON string (if you ever used it) won't need to have its quotes escaped.
'{ "foo": "bar" }'
when you could write JSON.stringify({ foo: "bar" })
and get a static guarantee of valid JSON?