2013-02-17 2 views
6

Схватив innerHTMl этого DivПолучение неожиданного маркера: п при анализе JSON в JavaScript

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

затем разборе его с этим JS кода

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

JS консоль в Chrome говорит: неперехваченный SyntaxError: Unexpected token n

не может узнать, где этот токен n может быть и что не так с моим кодом? любые идеи?

+4

Ну, это недействительно JSON. – Blender

ответ

12

Вы должны процитировать ваши ярлыки и добавить скобки ...

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

Это полностью решило проблему Спасибо! – lwiii

+0

, кстати, вот хороший инструмент :) http://jsonlint.com/ –

0

Вы можете попытаться принять значение, разделить его на «», чтобы создать массив и использовать JSON.stringify для создания правильного JSON. Оттуда вы можете использовать JSON.parse и иметь объект

Смежные вопросы