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