Nueva pregunta

Pregunta:

Fecha: 01-12-2018 18:17:00 (En Español)

Tengo este array la idea es introducirlo en una base de datos[Resuelta]

{
"Solicitud" : [
{"cell_text" : "<strong>xxx-xxx0044115-20181121</strong>Solicitud de Importaci?na",
"column" : "Solicitud",
"row" : "a",
"spans" : "1"},
{"cell_text" : "<strong>xxx-xxx0044115-20181121</strong>Solicitud de Importaci?n",
"column" : "Solicitud",
"row" : "",
"spans" : "1"},
{"cell_text" : "<strong>xxx-xxx0044115-20181121</strong>Solicitud de Importaci?n",
"column" : "Solicitud",
"row" : "",
"spans" : "1"},
{"cell_text" : "<strong>xxx-xxx0044115-20181121</strong>Solicitud de Importaci?n",
"column" : "Solicitud",
"row" : "",
"spans" : "1"}],
"Etapa" : [
{"cell_text" : "Pago",
"column" : "Etapa",
"row" : "a",
"spans" : "1"},
{"cell_text" : "Subentidades",
"column" : "Etapa",
"row" : "",
"spans" : "1"},
{"cell_text" : "VoBo MINTRANSPORTE",
"column" : "Etapa",
"row" : "",
"spans" : "1"},
{"cell_text" : "VoBo ANLA",
"column" : "Etapa",
"row" : "",
"spans" : "1"}],
"Agencia / Importador" : [
{"cell_text" : "xxx-xxxagencia 123",
"column" : "Agencia / Importador",
"row" : "a",
"spans" : "1"},
{"cell_text" : "xxx-xxxagencia 123",
"column" : "Agencia / Importador",
"row" : "",
"spans" : "1"},
{"cell_text" : "xxx-xxxagencia 123",
"column" : "Agencia / Importador",
"row" : "",
"spans" : "1"},
{"cell_text" : "xxx-xxxagencia 123",
"column" : "Agencia / Importador",
"row" : "",
"spans" : "1"}],
"Estado" : [
{"cell_text" : "CIERRE TOTAL",
"column" : "Estado",
"row" : "a",
"spans" : "1"},
{"cell_text" : "ASIGNADO",
"column" : "Estado",
"row" : "",
"spans" : "1"},
{"cell_text" : "ASIGNADO",
"column" : "Estado",
"row" : "",
"spans" : "1"},
{"cell_text" : "CIERRE TOTAL",
"column" : "Estado",
"row" : "",
"spans" : "1"}],
"Fecha solicitud" : [
{"cell_text" : "21 de Noviembre de 2018 10:25:35 am",
"column" : "Fecha solicitud",
"row" : "a",
"spans" : "1"},
{"cell_text" : "21 de Noviembre de 2018 11:22:06 am",
"column" : "Fecha solicitud",
"row" : "",
"spans" : "1"},
{"cell_text" : "21 de Noviembre de 2018 11:23:11 am",
"column" : "Fecha solicitud",
"row" : "",
"spans" : "1"},
{"cell_text" : "21 de Noviembre de 2018 11:23:11 am",
"column" : "Fecha solicitud",
"row" : "",
"spans" : "1"}]
}
Etiquetas: Array PHP - JSON - PHP - PHP Avanzado - PHP JSON Votos: 1 - Respuestas: 10 - Vistas: 15 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 01-12-2018 19:45:57 Sería algo así:

    //Convertimos ell JASON en Array
    $aa = json_decode($json,true);
        
       //Recorremos el arreglo para determinar su contenido
       foreach($aa as $item => $value){
          //Validamos si es un array y si este contiene valores lo recorremos
            if(is_array($value) && count($value)>=1){
                //Luego verificamos cada valor y extraemos el cell_text si existe
                for($i=0; $i<count($value);$i++){
                    echo "<li>".$item.": ".$value[$i]["cell_text"]."</lI>";//Omite el $item si no quieres saber el Nodo Principal
                }
            }
        }
    
    


    Los resultados serian una lista continua

      Votos: 4 - Link respuesta
     
  • Fecha: 01-12-2018 20:03:33 Ahora si los quieres agrupar, tendria que ser así:

    
    $aa = json_decode($json,true);
        $salida =  [];
        
        foreach($aa as $item => $value){
            if(is_array($value) && count($value)>=1){
                for($i=0; $i<count($value);$i++){
                    if(array_key_exists("Solicitud ".($i+1),$salida)){
                        $salida["Solicitud ".($i+1)][$item] = $value[$i]["cell_text"];
                    }else{
                        $salida["Solicitud ".($i+1)] = [];
                        $salida["Solicitud ".($i+1)][$item] =$item.":".$value[$i]["cell_text"];
                    }
                }
            }
        }
    
    


    El Resultado seria un array con los respectivos grupos:

    {
            "Solicitud 1"=>{
                "Solicitud"=>"ID DE SOLICITUD",
                "Etapa"=>"TIPO DE ETAPA",
                "Agencia/Importador"=>"AGENCIA",
                "Estado"=>"ESTADO",
                "Fecha solicitud"=>"FECHA DE SOLICITUD"
            }
        }
    
      Votos: 4 - Link respuesta
     
  • Fecha: 03-12-2018 03:44:52 wow que crack, la parte de abajo era la que no tenia hombre muchas gracias   Votos: 2 - Link respuesta
     
  • Fecha: 04-12-2018 14:31:03 ¿Bryan por que eliminaste el cuerpo del mensaje?   Votos: 1 - Link respuesta
     
  • Fecha: 04-12-2018 15:13:59 Hola lamentablemente subí información delicada, lastimosamente me di cuenta después de haber hecho la publicación, pensé que se podía borrar de alguna forma y no lo pude hacer :( debí usar otros datos para la pregunta Pido disculpas   Votos: 1 - Link respuesta
     
  • Fecha: 04-12-2018 16:29:28 podes volver a editar el post con la pregunta utilizando datos falsos para que quede como ejemplo   Votos: 1 - Link respuesta
     
  • Fecha: 04-12-2018 16:46:32 eso haré el problema es que carlos también tendría que a hacerlo Gracias   Votos: 1 - Link respuesta
     
  • Fecha: 04-12-2018 17:48:40 Listo bro datos editados. Saludos   Votos: 3 - Link respuesta
     
  • Fecha: 04-12-2018 18:16:37 Gracias mi amigo eres lo máximo Salu2 y que pena las molestias   Votos: 0 - Link respuesta
     
  • Fecha: 20-02-2019 06:51:01 Que tal buenas tardes, estoy haciendo algo parecido a lo del ejemplo y funciona perfecto, pero existe un problema al con algunos valores del objeto cuando tiene comillas dobles dentro del valor ejemplo

    {  
             "row":10,
             "totalrows":11,
             "nro:"T1",
             "idtipodoctr":90,
             "iddoctr":1,
             "requerimiento":"SE LE SOLICITA:rnACLARAR POR QUÈ OMITIERON DECLARAR EL NOMBRE DEL PRODUCTO EL CUAL ES: VEGETALES EN CONSERVA JUNTO CON SU VARIEDAD: MAIZ DULCE AMARRILLO EN GRANO ENTERO, E INDICAR POR QUÈ DECLARARON DE MANERA INCORRECTA LA VARIEAD YA QUE INDICARON: MAIZ DULCE (AMARRILLO EN GRANO ENTERO ), YA QUE DE ACUERDO A LO AUTORIZADO EN EL REGISTRO SANITARIO RSiA14l1602, LAS PALABRAS " AMARILLO EN GRANO ENTERO" NO SE ENCUENTRA DENTRO DE PARENTESIS, SIENDO LA VARIEDAD DESCRITA DE MANERA CORRECTA:   MAIZ DULCE AMARRILLO EN GRANO ENTERO.rnrnNOTA:SEÑOR IMPORTADOR TENER PRESENTE QUE DENTRO DE LOS ACTOS ADMINISTRATIVOS DEL REGISTRO SANITARIO SE ESPECIFICA CUALES SON LAS VARIEDADES DEL PRODUCTO.rnrnNOTA:FAVOR ADJUNTAR LOS DOCUMENTOS REQUERIDOS EN ARCHIVOS PDF (ADOBE READER) VERSIONES IGUAL O MENORES A 7." SE CONSIDERARÁ QUE HAY DESISTIMIENTO TÁCITO DE LA SOLICITUD SI TRANSCURRIDO UN (1) MES NO SE HA DADO CUMPLIMIENTO A LO ORDENADO EN ÉL,
             SALVO QUE EL INTERESADO,
             DENTRO DE ESTE TÉRMINO SOLICITE PRORROGA,
             QUE SE CONCEDERÁ DE MANERA AUTOMÁTICA POR UN TÉRMINO IGUAL ES DECIR,
             POR UN (1) MES ADICIONAL. LO ANTERIOR DE CONFORMIDAD CON LO ESTABLECIDO EN EL ARTÍCULO 17 DEL CÓDIGO DE PROCEDIMIENTO ADMINISTRATIVO Y DE LO CONTENCIOSO ADMINISTRATIVO. rn",
             "solicitante":"Instituto Nacional",
             "fecha":"2019-02-19T07:01:23",
             "tiemporestante":30.000000000,
             "semaforo":1,
             "idsol":"hh.6",
             "idtipodocre":95,
             "iddocre":-1,
             "iddoc":680174,
             "idtipodocsolicitud":6,
             "solrel":"xx43",
             "nombreformato":"IMPOTareaRelacionadaLicencia"
          }
    
    
    


    si observan el valor del objeto requerimiento tiene comillas dobles, esto al pasarlo por el script de Carlos me arroja el siguiente error,
    Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\panel-abc\app\magics\magic_php
    


    si quito las comillas dobles funciona perfecto si me pueden ayudar seria fabuloso gracias. el problema es que dependo de una aplicaciòn externa y no se me es facil quitar esas comillas que estan dentro del objeto requerimiento del Json
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión