json_decode retorna NULL após a chamada do serviço da web

Há um comportamento estranho comjson_encode ejson_decode e não consigo encontrar uma solução:

Meu aplicativo php chama um serviço web php. O serviço da web retorna json com a seguinte aparência:

var_dump($foo):
string(62) "{"action":"set","user":"123123123123","status":"OK"}"

gora, eu gosto de decodificar o json na minha aplicaçã

$data = json_decode($foo, true)

mas retornaNULL:

var_dump($data):
NULL

Eu uso php5. O tipo de conteúdo da resposta do serviço da web:"text/html; charset=utf-8" (também tentou usar"application/json; charset=utf-8")

Qual seria a razão

questionAnswers(20)

yourAnswerToTheQuestion