json_encode criando um JSON malformado (com caractere oculto extra)

Estou usando PHP'sjson_encode() para retornar alguns dados, recuperados pelo jQueryajax():

JS simplificado:

$.ajax({
    dataType: 'json',
    contentType: 'application/json',
    cache: false,
    type: 'POST',
    url: './api/_imgdown.php',
    error: function(jqXHR, textStatus, errorThrow) {
        console.log(jqXHR, textStatus, errorThrow);
    },
    success: function(data, textStatus, jqXHR) {
        console.log(data, textStatus, jqXHR);
    }
});

O PHP é:

header('Content-Type: application/json; charset=UTF-8');
//default apiResponse
$apiResponse = [
    "status" => 1,
    "message" => "success",
    "data" => null
];

Então, quando php executa meu código, ele acaba adicionando esses dados:

$apiResponse['data'][] = [
    "mid" => (int)$mid,
    "card_type" => $card_type,
    "header_size" => (int)$headers['Content-Length'],
    "saved_size" => (int)filesize($imgSavePath),
    "saved_path" => $imgSavePath
];
//spit out the JSON
echo json_encode($apiResponse);
exit();

O JSON:

{"status":1,"message":"success","data":[{"mid":340052,"card_type":"kakusei","header_size":48337,"saved_size":48337,"saved_path":"..\/card\/kakusei\/340052.png"}]}

No começo parece válido. Meu Ajax que recupera esse PHP sempre termina comparseerror (indo assim para oerror parte deajax()).

Se você copiar e colar esse JSON emhttp://jsonlint.com/, diz "Token inesperado" ehttp://jsonformatter.curiousconcept.com/ diz que não é válido.

eu tenteiecho json_encode($apiResponse, JSON_UNESCAPED_SLASHES); mesmo que barras de escape sejam ok\/ mas não fez diferença.

Mas o que não é exatamente válido? O PHP não deveria retornar o JSON válido?

Informações adicionais: teste no Windows7, Chrome v28.XX, usando o PHP 5.4.XX no Apache

Perguntas que li antes de postar esta:

json_encode criação de dados JSON malformados?https://stackoverflow.com/a/15654848/684932sobre json_encode e ajax dataType: "json"php json_encode não está retornando a string codificada json adequada

Atualizar:

Copiar de SO para JSONlint fornece json válido. Então eu investiguei um pouco mais e percebi que o PHP está criando um estranho personagem oculto que está realmente tornando o json inválido. Veja a captura de tela abaixo. Como eu conserto isso?

questionAnswers(2)

yourAnswerToTheQuestion