2013-09-26 35 views
0

我在做json_encode(simplexml_load_file($xmlpath)) 我得到的輸出如下。訪問JSON不顯示輸出

{"@attributes":{ 
     "source":"Tas Football", 
     "version":"4.14.00", 
     "generated":"8\/20\/2013" 
    }, 
    "venue":{ 
     "@attributes":{ 
      "visname":"Book" 
     } 
    } 
} 

我用這JSON在JavaScript並將其存儲在data可變
我試圖訪問的元素,但沒有得到任何成功。

alert([email protected]); 

上述代碼不顯示任何輸出。

這樣做的AJAX代碼如下:

$.get("fetchXml.php?file=../../xml/wk1/BookerTWashington_Douglas.xml",function (data){ 
       data=$.parseJSON(data); 
       alert([email protected]); 
    }); 
+0

你是如何在JavaScript這樣做呢?我假設你正在使用ajax?你能告訴我們你的代碼在JavaScript部分。那麼也許你有同樣的問題,但如果你使用ajax,請確保你做了dataType:「json」。 –

+0

如何讓你的PHP變量首先是JS? – TheWolf

+0

我已經做了編輯並顯示了它的阿賈克斯 – coding

回答

1

在變量名的@是無效的: JavaScript是一種區分大小寫的語言。這意味着變量名稱(如myCounter)與變量名稱MYCounter不同。變量名稱可以是任意長度。創建合法變量名稱的規則如下:

第一個字符必須是ASCII字母(大寫或小寫)或下劃線(_)字符。請注意,一個數字不能用作第一個字符。

後續字符必須是字母,數字或下劃線(_)。

變量名稱不能是保留字。 http://msdn.microsoft.com/en-us/library/ie/67defydd(v=vs.94).aspx

+0

php函數json_encode()已自動添加@attribute。 你是否建議我必須用空白替換所有的@。 – coding

+0

感謝這麼好的解釋:-) – coding

1

試試這個:

data.venue['@attributes'].visname