02-08-2011, 04:47 PM
(Modification du message : 02-08-2011, 06:49 PM par Sephi-Chan.)
Je suis à la recherche d'un algorithme efficace pour réaliser une transformation d'un hash vers un autre. Comme un exemple vaut moult mots, je vais vous présenter la transformation que je souhaite effectuer.
Voici donc le hash de base. Il a pour particularité d'être trié par clé et par ordre alphabétique.
Mon but est de le transformer en ceci :
Comme vous l'aurez compris, je veux que chaque point marque le début d'un nouveau hash. Bien sûr, l'imbrication doit être illimitée.
Voilà, voilà, si vous avez un algo à me conseiller, je suis preneur, peu importe le langage tant que c'est simple à porter.
Merci d'avance !
Voici donc le hash de base. Il a pour particularité d'être trié par clé et par ordre alphabétique.
{
"npc.yoda.i_know_you" => "I know you...",
"npc.yoda.introduce" => "Hi! I'm Yoda!",
"npc.yoda.you_finished_the_quest" => "You achieved the quest!",
"quest.1.description" => "Bring me few endives and tomatoes, please.",
"quest.1.title" => "Endives and tomatoes",
"quest.2.description" => "Now, bring me few apples.",
"quest.2.title" => "Think different"
}
Mon but est de le transformer en ceci :
{
"npc" => {
"yoda" => {
"i_know_you" => "I know you...",
"introduce" => "Hi! I'm Yoda!",
"you_finished_the_quest" => "You achieved the quest!"
}
},
"quest" => {
"1" => {
"description" => "Bring me few endives and tomatoes, please.",
"title" => "Endives and tomatoes"
},
"2" => {
"description" => "Now, bring me few apples.",
"title" => "Think different"
}
}
}
Comme vous l'aurez compris, je veux que chaque point marque le début d'un nouveau hash. Bien sûr, l'imbrication doit être illimitée.
Voilà, voilà, si vous avez un algo à me conseiller, je suis preneur, peu importe le langage tant que c'est simple à porter.
Merci d'avance !