Şimdi ben böyle bir json kodu vardır:
{"1":
{
"text":"e1",
"children":
{
"1":
{
"text":"e1_site1",
"children":
{"1":"e1_site1_salarie1_nom"}
},
"3":
{
"text":"e1_site2",
"children":
{
"3":"e1_site2_sa1",
"4":"e1_site2_sa2"
}
}
}
},
"2":
{
"text":"e2",
"children":
{
"2":
{
"text":"e2_site2",
"children":
{
"2":"e2_site2_salarie2_nom"
}
}
}
}
}
Ve ben olmak istiyorum:
[
{
"text":"e1",
"children":
[
{
"text":"e1_site1",
"children":
[
{
"text":"e1_site1_salarie1_nom"
}
],
"text":
{
"text":"e1_site2",
"children":
[
{
"text":"e1_site2_sa1"
},
{
"text":"e1_site2_sa2"
}
]
}
],
"text":
{
"text":"e2",
"children":
[
{
"text":"e2_site2",
"children":
[
{
"text":"e2_site2_salarie2_nom"
}
]
}
]
}
Ben şu anda ne yaptın, onu tam ve bitmiş değil:
$json = json_encode($entreprise);
$mode = array("/{\"[0-9]\":{\"text\"/", "/children\":{\"[0-9]\"/","/,\"[0-9]\":{\"/", "/,\"[0-9]\":\"/","(}})");
$replacement = array("[{\"text\"","children\":[{\"text\"",",\"text\":{\"",",\"text\":\"","}]");
$json = preg_replace($mode, $replacement, $json);
dump($json);
Ve şu anki sonuç:
[
{
"text":"e1",
"children":
[
{
"text":"e1_site1",
"children":
[
{
"text":"e1_site1_salarie1_nom"
}
],
"text":
{
"text":"e1_site2",
"children":
[
{
"text":"e1_site2_sa1",
"text":"e1_site2_sa2"
}
]
}
],
"text":
{
"text":"e2",
"children":
[
{
"text":"e2_site2",
"children":
[
{
"text":"e2_site2_salarie2_nom"
}
]
}
]
}
Düzenli ifade ile ideal bir çıktıya ulaşmak için nasıl biliyor musunuz?
Herhangi bir fikir veya öneriler takdir edilecektir! Şimdiden teşekkürler. ;)
Edit:
Çıktı soulmerge önerisine göre değiştirildi. Bu gibi:
[
{
"text":"e1",
"children":
{
"1":
{
"text":"e1_site1",
"children":
{
"1":"e1_site1_salarie1_nom"
}
},
"3":
{
"text":"e1_site2",
"children":
{
"3":"e1_site2_sa1",
"4":"e1_site2_sa2"
}
}
}
},
{
"text":"e2",
"children":
{
"2":
{
"text":"e2_site2",
"children":
{
"2":"e2_site2_salarie2_nom"
}
}
}
}
]
Ama yine de benim ideal sonuç için uzun bir yolculuk var.
Herkes bunu biliyor mu?