Javascript: преобразовать объект в массив или JSON для Gephi / Sigma.Js
Здравствуйте, у меня есть следующий код Javascript, где я пытаюсь преобразовать объект, полученный из базы данных Neo4J, в симпатичный массив или JSON (я смогу разобраться с одним из двух) для дальнейшего использования с Gephi / Sigma.
Но это не работает...
Есть идеи почему?
var myObj = [
[ 'b7145841-962f-11e3-8b8e-abca0f9fdedd',
'painquotidien',
'b7145842-962f-11e3-8b8e-abca0f9fdedd',
'cafeamour',
'b7145843-962f-11e3-8b8e-abca0f9fdedd' ],
[ 'cce97c91-962f-11e3-8b8e-abca0f9fdedd',
'hotelamour',
'b7145842-962f-11e3-8b8e-abca0f9fdedd',
'cafeamour',
'19fe2713-9630-11e3-8b8e-abca0f9fdedd' ]
];
var nodes = {
id: '',
label: ''
};
var edges = {
source: '',
target: '',
id: ''
};
for (var i = 0; i < myObj.length; i++) {
nodes['id'].push(myObj[i][0]);
nodes['label'].push(myObj[i][1]);
nodes['id'].push(myObj[i][2]);
nodes['label'].push(myObj[i][3]);
edges['source'].push(myObj[i][0]);
edges['target'].push(myObj[i][2]);
edges['id'].push(myObj[i][4]);
}
Я уже выполнил поиск в Stackru и в других местах, но ни одно из предоставленных решений не сработало для меня, возможно, потому, что мне нужен многомерный массив и немного отличающаяся по структуре от объекта (см. Код выше).
Спасибо за помощь!
1 ответ
Решение
Этот код работает:
var nodes_object = myObj;
var g = {
nodes: [],
edges: []
};
for (var i = 0; i < nodes_object.length; i++) {
g.nodes.push({
id: nodes_object[i][0],
label: nodes_object[i][1]
});
g.nodes.push({
id: nodes_object[i][2],
label: nodes_object[i][3]
});
g.edges.push({
source: nodes_object[i][0],
target: nodes_object[i][2],
id: nodes_object[i][4],
edge_context: nodes_object[i][5]
});
};