[{gid: "10000", gname: "FAW Audi", gspell: "yiqiaodi", child: [{"id": "3999", "name": "A3", "urlSpell": "aodia3-3999", "showName": "Audi A3", "saleState": "in sale"]}] this is not a php standard json string, and the key value has no quotation marks.
$data ='[{"gid": "10000", "gname": "FAW Audi", "gspell": "yiqiaodi", "child": [{"id": "3999", "name": "A3", "urlSpell": "aodia3-3999", "showName": "Audi A3", "saleState": "in sale"}]}]';
$result = json_decode ($data,true);
var_dump ($result);
$str = preg_replace(["/([a-zA-Z_]+[a-zA-Z0-9_]*)\s*:/", "/:\s*'(.*?)'/"], ['"\1":', ': "\1"'], $str);
var_dump(json_decode($str,true));
$str = <<<STR
[{ gid:"10000",gname:"",gspell:"yiqiaodi",child:[{"id":"3999","name":"A3","urlSpell":"aodia3-3999","showName":"A3","saleState":""}]}]
STR;
echo preg_replace('/([\w]+:)/','"$1":',$str);
output
json_decode($data,true);