2013-05-06 74 views
1

我開始學習D3,它看起來像一個強大的框架。我想從簡單的python web服務器加載下面的html。我可以看到.json文件被加載,但是我沒有看到json被打印在Chrome瀏覽器的控制檯日誌中。D3 - 從JSON加載數據不起作用

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"/> 
    <title>D3 Tests</title> 
    <script type="text/javascript" src="resources/d3.v3/d3.v3.js"></script> 
</head> 
<body> 
    <script type="text/javascript"> 
    var dataset; 
    console.log("Before json"); 
    d3.json("pie-chart-data.json",function(error,data){ 
     if (error) return console.warn(error); 
     dataset = data; 
     console.log("Dataset is: "+dataset); 
    }); 
    console.log("After json"); 
    </script> 
</body> 
</html> 

而這裏的JSON文件 - 餅圖 - data.json

[ 
{key: "One",y: 5}, 
{key: "Two",y: 2}, 
{key: "Three",y: 9}, 
{key: "Four",y: 7}, 
{key: "Five",y: 4}, 
{key: "Six",y: 3}, 
{key: "Seven",y: .5} 
] 

我看到「JSON之前」和「之後JSON」越來越打印到控制檯,但沒有看到「數據集是」日誌。我哪裏錯了 - 請幫助。

感謝,K.

+0

你可以使用瀏覽器訪問json文件嗎? – 2013-05-06 02:53:41

+1

是的,我可以使用瀏覽器訪問它。 – KumarM 2013-05-06 03:53:21

回答

4

JSON文件格式錯誤,它必須有周圍的按鍵雙引號,並且數字必須以數字或減號(不是一個點)開始。

[ 
    {"key": "One", "y": 5}, 
    {"key": "Two", "y": 2}, 
    {"key": "Three", "y": 9}, 
    {"key": "Four", "y": 7}, 
    {"key": "Five", "y": 4}, 
    {"key": "Six", "y": 3}, 
    {"key": "Seven", "y": 0.5} 
] 

完整的json規範和語法可以在json.org中找到。