'La categoría y el texto de la pregunta son obligatorios']); break; } $pregunta = new Pregunta($idCategoria, $nombrePregunta); $resultado = $pregunta->guardar(); echo json_encode($resultado); break; case 'obtenerPreguntasPorCategoria': $idCategoria = intval($_POST['idCategoria'] ?? 0); $limite = intval($_POST['limite'] ?? 10); $preguntas = Pregunta::obtenerPorCategoria($idCategoria, $limite); // Si ha devuelto un array de errores (formato ['error'=>...]) lo mandamos tal cual if (isset($preguntas['error'])) { echo json_encode($preguntas); break; } // Convertimos cada objeto Pregunta en un array simple para poder mandarlo en JSON $listado = []; foreach ($preguntas as $p) { $listado[] = [ 'idPregunta' => $p->getIdPregunta(), 'idCategoria' => $p->getIdCategoria(), 'nombrePregunta' => $p->getNombrePregunta(), 'respuestas' => $p->getRespuestas() ]; } echo json_encode($listado); break; }