2013-06-19 29 views
6

EJS'yi Node.JS ile kullanıyorum ve bir JSON nesnesini geçiriyorum, ancak sayfaya, sayfada kullanılabilir bir nesne olarak erişmesi gerekiyor. Beklenmedik belirtecin o hatayı alıyorum: Hata burada neyin yanlış olduğunu anlayamıyorum. Bu render zaman dosyasında neye benzediğiJSON, EJS'den JSON nesnesine JS

:

var initData=JSON.parse([{"title":"South Hills Health System - University Health Center","adr":"200 Lothrop St,15213","coords":"40.441875,-79.960813","images":[],"tags":[],"_id":"51c0e9798384f40000000017"},{"title":"Bombay Food Market","adr":"4605 Centre Avenue, Pittsburgh, PA 15213, USA","coords":null,"images":[],"tags":["indian","groceries","ethnic","store"],"_id":"51c0519e02b7cbec73000002"}]); 

cevap

15

bu deneyin:

var initData = JSON.parse('<%-JSON.stringify(list)%>'); 

VEYA:

var initData = <%-JSON.stringify(list)%>; 
+0

İlki mükemmel çalıştı! Tek tırnakların neden işe yaradığını açıklayabilir misiniz? –

+1

@GeorgeL 'JSON.parse ', STRING parametresini alır ve çıkışınıza bakarsanız, JSON.parse dizisinde diziyi geçirirsiniz. tek tırnaklar bunu yapar: 'JSON.parse ('[{" title ":" ... "}]')' yerine: JSON.parse ([{"title": "..."}]) ' – karaxuna

+1

initData neden bir dize yerine bir nesnedir? – OMGPOP