2013-02-17 32 views
6

Grabbing innerHTML này divBắt dấu hiệu bất ngờ: n khi phân tích cú pháp JSON trong JavaScript

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

sau đó phân tích nó với điều này JS đang

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

JS console trong Chrome nói: Lỗi Cú pháp chưa gặp: Unexpected token n

không thể tìm ra mã thông báo n ở đâu và mã của tôi có gì sai? bất kỳ ý tưởng nào?

+4

Vâng, đó không phải là JSON hợp lệ. – Blender

Trả lời

12

Bạn cần phải trích dẫn các nhãn của bạn và thêm dấu ngoặc ...

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

Điều đó hoàn toàn giải quyết được vấn đề Cảm ơn! – lwiii

+0

bằng cách này, đây là một công cụ tốt :) http://jsonlint.com/ –

0

Bạn có thể thử để có những giá trị, chia nó bằng cách '' để tạo một mảng và sử dụng JSON.stringify để tạo ra một đúng JSON. Từ đó, bạn có thể sử dụng JSON.parse và có một đối tượng

Các vấn đề liên quan