1
I am creating a JSON that needs a specific formatting in PHP, the problem is that I can’t make it look like my JSON template, follow template and my PHP:
Model:
{
  "success":true,
  "message":"",
  "data":
  {
        "id": "lojas_monitoradas",
        "name": "lojas monitoradas",
        "data": {
          "total":1
        },
        "children":[
        {
          "id": "gondolas_monitoradas",
          "name": "gôndolas monitoradas",
          "data": {
            "total":7
          },
          "children":[
          {
            "id": "produtos_total",
            "name": "produtos",
            "data": {
              "total":750
            },
            "children":[
              {
                "id": "produtos_encontrados",
                "name": "produtos encontrados",
                "data": {
                  "total":500,
                  "percentual":0.66
                }
              },
              {
                "id": "produtos_em_ruptura",
                "name": "produtos em ruptura",
                "data": {
                  "total":200,
                  "percentual":0.33
                },
                "children":[
                ]
              }
            ]
          }
          ]
      }
    ]
  }
}
PHP:
    $json = array("id" => "lojas_monitoradas",
            "name" => "lojas monitoradas",
            "data" => array("total" => $lojas),
            "children" => array(
                "id" => "gondolas_monitoradas",
                "name" => "gôndolas monitoradas",
                "data" => array("total" => $gondolas),
                    "children" => array([
                        "id" => "produtos",
                        "name" => "produtos",
                        "data" => array("total" => $produtos_total),
                        "children" => array([
                            array(
                                "id" => "produtos_encontrados",
                                "name" => "produtos encontrados",
                                "data" => array("total" => $produtos_encontrados, "percentual" => $produtos_encontrados_percentual)
                            ),
                            array(
                                "id" => "produtos_em_ruptura",
                                "name" => "produtos em ruptura",
                                "data" => array("total" => $produtos_em_ruptura, "percentual" => $produtos_em_ruptura_percentual)
                            ),
                            "children" => array([
                                array(
                                    "id" => "produtos_em_ruptura_sistemica",
                                    "name" => "produtos em ruptura sistemica",
                                    "data" => array("total" => $produtos_em_ruptura_sistemica, "percentual" => $produtos_em_ruptura_sistemica_percentual)
                                ),
                                array(
                                    "id" => "produtos_em_ruptura_gondola",
                                    "name" => "produtos em ruptura na gondola",
                                    "data" => array("total" => $produtos_em_ruptura_gondola, "percentual" => $produtos_em_ruptura_gondola_percentual)
                                ),
                                "children" => array([
                                    array(
                                        "id" => "produtos_resolvidos",
                                        "name" => "produtos resolvidos",
                                        "data" => array("total" => $produtos_resolvidos, "percentual" => $produtos_resolvidos_percentual)
                                    ),
                                    array(
                                        "id" => "produtos_aindanaotratados",
                                        "name" => "produtos ainda não tratados",
                                        "data" => array("total" => $produtos_nao_tratados, "percentual" => $produtos_nao_tratados_percentual)
                                    ),
                                    array(
                                        "id" => "produtos_em_transicao",
                                        "name" => "produtos em transição",
                                        "data" => array("total" => $produtos_em_transicao, "percentual" => $produtos_em_transicao_percentual)
                                    ),
                                    "children" => array([
                                        array(
                                            "id" => "produtos_estoquevirtual",
                                            "name" => "produtos com estoque virtual ajustado",
                                            "data" => array("total" => $produtos_estoquevirtual, "percentual" => $produtos_estoquevirtual_percentual)
                                        ),
                                        array(
                                            "id" => "produtos_abastecido",
                                            "name" => "produtos abastecidos",
                                            "data" => array("total" => $produtos_abastecido, "percentual" => $produtos_abastecido_percentual)
                                        ),
                                        array(
                                            "id" => "produtos_alarmefalso",
                                            "name" => "produtos com alarme falso",
                                            "data" => array("total" => $produtos_alarmefalso, "percentual" => $produtos_alarmefalso_percentual)
                                        ),
                                    ]),
                                ]),
                            ]),
                        ]),
                    ]),
                ));
Return of my PHP:
{
   "success":true,
   "message":"",
   "data":
        "id": "lojas_monitoradas",
        "name": "lojas monitoradas",
        "data": {
            "total": 1
        },
        "children": {
            "id": "gondolas_monitoradas",
            "name": "gôndolas monitoradas",
            "data": {
                "total": 7
            },
            "children": [
                {
                    "id": "produtos",
                    "name": "produtos",
                    "data": {
                        "total": 779
                    },
                    "children": [
                        {
                            "0": {
                                "id": "produtos_encontrados",
                                "name": "produtos encontrados",
                                "data": {
                                    "total": 254,
                                    "percentual": 0.32605905006418
                                }
                            },
                            "1": {
                                "id": "produtos_em_ruptura",
                                "name": "produtos em ruptura",
                                "data": {
                                    "total": 525,
                                    "percentual": 0.67394094993582
                                }
                            },
                            "children": [
                                {
                                    "0": {
                                        "id": "produtos_em_ruptura_sistemica",
                                        "name": "produtos em ruptura sistemica",
                                        "data": {
                                            "total": 99,
                                            "percentual": 0.12708600770218
                                        }
                                    },
                                    "1": {
                                        "id": "produtos_em_ruptura_gondola",
                                        "name": "produtos em ruptura na gondola",
                                        "data": {
                                            "total": 426,
                                            "percentual": 0.54685494223363
                                        }
                                    },
                                    "children": [
                                        {
                                            "0": {
                                                "id": "produtos_resolvidos",
                                                "name": "produtos resolvidos",
                                                "data": {
                                                    "total": 0,
                                                    "percentual": 0
                                                }
                                            },
                                            "1": {
                                                "id": "produtos_aindanaotratados",
                                                "name": "produtos ainda não tratados",
                                                "data": {
                                                    "total": 0,
                                                    "percentual": 0
                                                }
                                            },
                                            "2": {
                                                "id": "produtos_em_transicao",
                                                "name": "produtos em transição",
                                                "data": {
                                                    "total": 0,
                                                    "percentual": 0
                                                }
                                            },
                                            "children": [
                                                [
                                                    {
                                                        "id": "produtos_estoquevirtual",
                                                        "name": "produtos com estoque virtual ajustado",
                                                        "data": {
                                                            "total": 6,
                                                            "percentual": 0.0077021822849807
                                                        }
                                                    },
                                                    {
                                                        "id": "produtos_abastecido",
                                                        "name": "produtos abastecidos",
                                                        "data": {
                                                            "total": 11,
                                                            "percentual": 0.014120667522465
                                                        }
                                                    },
                                                    {
                                                        "id": "produtos_alarmefalso",
                                                        "name": "produtos com alarme falso",
                                                        "data": {
                                                            "total": 4,
                                                            "percentual": 0.0051347881899872
                                                        }
                                                    }
                                                ]
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    }
}
Note that on my return from PHP it before Children is as associative array and precise that the return is equal in the model, can help me ?
In case converting json to a PHP array would help you? Because PHP already has the function to convert json to array and PHP array to json.
– Luiz Fernando