¿Por qué no funciona este simple bit de jQuery getJSON en IE8?

Tengo una solicitud AJAX muy estándar:

$.getJSON('/products/findmatching/38647.json', {}, function(JsonData){
  var tableHtml = '';
  var x;

  for (x in JsonData.matchingProds) {
    var matchingProd = JsonData.matchingProds[x];
    var buyMessage;

    if ( x == 0 ) {
      buyMessage = 'Buy Cheapest';
    }
    else {
      buyMessage = 'Buy from this shop';
    }

    tableHtml = tableHtml + '<tr><td><img height="40" src="' + matchingProd.img_url + '" alt="' + matchingProd.name + '" /></td> \
      <td><a href="' + matchingProd._page_url + '">' + matchingProd.name + '</a></td> \
      <td><a href="' + matchingProd._merchant._url + '">' + matchingProd._merchant.title + '</td> \
      <td align="right">&pound;' + matchingProd.price + '</td> \
      <td><a href="' + matchingProd.referral_url + '">' + buyMessage + '</a></td></tr>';
  }

  $('#matchingproducts tbody').html(tableHtml);

  $('#loading').delay(1000).fadeOut();
});

Funciona bien en todos los navegadores, excepto IE. Ya no hago mucho en IE ya que tengo una Mac, pero tengo IE8 en una máquina virtual XP. El uso de sus herramientas de depuración integradas realmente no ha ayudado (no son muy buenas). Lo único que puedo entender es que en algún momento obtengo el error "Identificador esperado".

¿Podría esto estar en los datos JSON que se devuelven? ¿Cómo puedo examinar esos datos desde el punto de vista de IE?

Respuestas a la pregunta(5)

Su respuesta a la pregunta