Я пишу скрипт, который позволяет создавать объект json с информацией о конкретном графике для использования с SigmaJS.
Важно подчеркнуть, что пользователь должен указать, сколько итераций необходимо выполнить, чтобы определитьколичество узлов, которые будут существовать в графе.Я новичок в этом языке, в коде поместите итерации в 5, например.
use strict;
use warnings;
use JSON;
my $json_obj = new JSON;
my %perl_data;
for (my $i=0; $i <= 5 ; $i++) {
$perl_data{nodes} = [{id => "..", label => "..", label => "..", x => ".." , y => ".." , size => ".."}];
$perl_data{edges} = [{id => "..", source => "..", target => "..", color => ".."}];
}
print $json_obj->pretty->encode(\%perl_data);
Я получаю такой результат:
{
"nodes" : [
{
"x" : "..",
"id" : "..",
"y" : "..",
"label" : "..",
"size" : ".."
}
],
"edges" : [
{
"target" : "..",
"id" : "..",
"color" : "..",
"source" : ".."
}
]
}
Но мне нужно что-то подобное:
{
"nodes": [
{
"id": "n0",
"label": "A node",
"x": 0,
"y": 0,
"size": 3
},
{
"id": "n1",
"label": "Another node",
"x": 3,
"y": 1,
"size": 2
},
{
"id": "n2",
"label": "And a last one",
"x": 1,
"y": 3,
"size": 1
}
],
"edges": [
{
"id": "e0",
"source": "n0",
"target": "n1"
},
{
"id": "e1",
"source": "n1",
"target": "n2"
},
{
"id": "e2",
"source": "n2",
"target": "n0"
}
]
}