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]
        });

    };
Другие вопросы по тегам