Como analisar JSONP malformado com caracteres codificados hexadecimais usando JSON.NET?

Eu faço uma chamada para a API de dicionário do Google assim:

var json = new WebClient().DownloadString(string.Format(@"http://www.google.com/dictionary/json?callback=dict_api.callbacks.id100&q={0}&sl=en&tl=en", "bar"));

No entanto, recebo uma resposta que este código não consegue analisar corretamente:

json = json.Replace("dict_api.callbacks.id100(", "").Replace(",200,null)", "");
JObject o = JObject.Parse(json);

A análise morre ao encontrar isto:

"entries":[{"type":"example","terms":[{"type":"text","text":"\x3cem\x3ebars\x3c/em\x3e of sunlight shafting through the broken windows","language":"en"}]}]}

o

\ x3cem \ x3ebars \ x

coisas mata a análise

Existe alguma maneira de lidar com essa resposta JSONP com o JSON.NET?

oresponda poraquinas para outra pergunta "Parse JSONP" mostra regex agradávelx = Regex.Replace(x, @"^.+?\(|\)$", ""); para lidar com a parte JSONP (talvez seja necessário ajustar o regex para este caso), portanto, a parte principal aqui é como lidar com caracteres codificados hexadecimais.

questionAnswers(2)

yourAnswerToTheQuestion