Tengo una matriz en la que quiero recorrer la matriz dentro del JSON y mostrar los datos en la tabla según las nacionalidades de la matriz. El problema es que los datos de la matriz contienen barras invertidas y no puedo recorrerlos. Recupero los datos con una llamada AJAX de mi archivo PHP.
PHP:
$arr if (!empty($arr)) { echo json_encode($arr); // print_r($arr); } else{ $errors = 'No data available.'; } exit; Si imprimo_r() veo: Array ( [0] => stdClass Object ( [company] => John Comp [pro_countries] => ["BR","ES","FR"])
Si uso echo json_encode, mi eco parece pero puedo imprimir la empresa en mi Jquery: [{"company":"John Comp","nationality":"[\"BR\",\"ES\",\"FR\"]"}]
Pero si uso print_r($arr) las barras desaparecen pero parece que no puedo imprimir la empresa en Jquery: [{"company":"John Comp","nationality":"["BR","ES","FR"]"}]
Si uso Print_r() Entonces mi llamada AJAX en JQuery va directamente a la respuesta de error. JQuery:
$.ajax({ type: 'GET', url: 'testurl', dataType: 'json', processData: false, cache: false, success: function (response){ response.nationality.forEach((item)=>{ });También probé:
$.ajax({ type: 'GET', url: 'testurl', dataType: 'json', processData: false, cache: false, success: function (response){ var data = JSON.parse(response); data.nationality.forEach((item)=>{ });Lo que quiero después del bucle:
La nationality es una cadena JSON, debe analizarla para poder recorrerla.
JSON.parse(response.nationality).forEach(item => ...) No estoy seguro de por qué codificaste nationality en primer lugar. Simplemente debe convertirlo en una matriz PHP común y luego se codificará como parte de $arr .