well jslint use javascript :) that's why we have json, it's a decoder 

i think the decoder is have some problem with unicode characters...
at mariadb i see something like this:

select COLUMN_JSON(
COLUMN_CREATE('name', UNHEX('C1C2C3C4C5C6'))  <- a valid dynamic column value
) <- a valid json value

what 0xC1C2C3C4C5C6  mean in utf-8?
could you execute you program, and echo byte-byte the value? something like (php)
$php=mysql_result(...)
for($i=0;$i<strlen($php);$i++) echo "$i = ".dechex(ord(substr($php,$i,1)))."\n";
and check if you have something like C1 C2 C3 C4 C5 C6