2013-02-17 18 views
6

Chwytając InnerHTML DIVPierwsze nieoczekiwany znak: n podczas analizowania JSON w JavaScript

<div style="display:none;" id="graphdata">{n:2 , e:1},{from:1 , to:2},{from:2, to:3},{from:3, to:4}</div> 

następnie analizowania go z tego JS kod

jdiv=document.getElementById('graphdata').innerHTML; 
edges=JSON.parse(jdiv); 

konsola JS w Chrome mówi: Uncaught SyntaxError: Unexpected token n

nie można dowiedzieć się, gdzie jest token, który może być i co jest nie tak z moim kodem? jakieś pomysły?

+4

Cóż, to nie jest prawidłowy JSON. – Blender

Odpowiedz

12

trzeba zacytować etykiety i dodać nawiasy ...

[ 
    { 
     "n": 2, 
     "e": 1 
    }, 
    { 
     "from": 1, 
     "to": 2 
    }, 
    { 
     "from": 2, 
     "to": 3 
    }, 
    { 
     "from": 3, 
     "to": 4 
    } 
] 
+0

To całkowicie rozwiązało problem Dzięki! – lwiii

+0

przy okazji, oto dobre narzędzie :) http://jsonlint.com/ –

0

można starać wartości, podzielić ją przez „” aby utworzyć tablicę i używać JSON.stringify wygenerować poprawny JSON. Stamtąd możesz użyć JSON.parse i mieć obiekt

Powiązane problemy