2012-11-18 88 views
0

我想我的數據在一個單獨的文件(與所有其他文件相同的路徑)。我正在努力導入JSON文件。這是我試過,沒有工作:如何導入JSON文件?

$.getJSON("rezepte.json", function(obj) { 
var rezepte = obj.rezepte; 
}); 

更新 - 這就是fianlly工作非常感謝你的幫助。

var rezepte = $.getJSON("rezepte.json", function(obj) { 
rezepte = obj.rezepte; 
}); 

當使用direcly代碼這個數據,一切運作良好:

var rezepte = [ 
{ "name" : "Eierkopf" , "zutaten" : ["eier", "butter", "kekse"] , "menge" : ["3 Eier", "20g Butter", "5 Kekse"] , "portionen" : 1 , "zubereitung" : ["1. alles", "2. schön", "3. mischen."] }, 
{ "name" : "Käseschnitte" , "zutaten" : ["käse", "brot"] , "menge" : ["500g Käse", "2 Scheiben geschnittenes Brot"] , "portionen" : 2 , "zubereitung" : ["1. Brotunterseite mit Butter bestreichen (altes Brot verwenden)", "2. Brotoberseite mit Weisswein beträufeln", "3. mit Käse bedecken und würzen", "4. 20min. in vorgeheizten Ofen bei 180 Grad" , "5. nomal öpis"] }, 
{ "name" : "Gemüse-Auflauf" , "zutaten" : ["lauch"] , "menge" : ["1 Stengel Lauch", "5 Zitronen"], "portionen" : 4 , "zubereitung" : ["1. schneiden", "2. Kochen", "3. essen", "4. xxx", "5. yyy", "6. en guete"] } ]; 

保存在此爲rezepte.json

{ 
"rezepte" : 

[ 
{ "name" : "Eierkopf" , "zutaten" : ["eier", "butter", "kekse"] , "menge" : ["3 Eier", "20g Butter", "5 Kekse"] , "portionen" : 1 , "zubereitung" : ["1. alles", "2. schön", "3. mischen."] }, 
{ "name" : "Käseschnitte" , "zutaten" : ["käse", "brot"] , "menge" : ["500g Käse", "2 Scheiben geschnittenes Brot"] , "portionen" : 2 , "zubereitung" : ["1. Brotunterseite mit Butter bestreichen (altes Brot verwenden)", "2. Brotoberseite mit Weisswein beträufeln", "3. mit Käse bedecken und würzen", "4. 20min. in vorgeheizten Ofen bei 180 Grad" , "5. nomal öpis"] }, 
{ "name" : "Gemüse-Auflauf" , "zutaten" : ["lauch"] , "menge" : ["1 Stengel Lauch", "5 Zitronen"], "portionen" : 4 , "zubereitung" : ["1. schneiden", "2. Kochen", "3. essen", "4. xxx", "5. yyy", "6. en guete"] } 
] 

} 

遺憾的是它仍然不工作 - $ .getJSON結果僅包含3個空對象的數組很高興能獲得進一步的幫助。 Thx,Andi

+0

您需要保存您的JSON文件'UTF-8'編碼。 – Korikulum

回答

1

聽起來像您需要訪問返回對象的rezepte屬性。

$.getJSON("rezepte.json", function(obj) { 
    var rezepte = obj.rezepte; 
}); 

它不會是明智的名稱參數作爲json,因爲它不是,它是一個JavaScript對象(一般)。

+0

非常感謝Alex。你的回覆讓我領悟到解決方案。奇怪的是,我不得不首先聲明「var rezepte」才能使其工作(請參閱上面的更新)。 –

0

你的編碼錯誤的話,因爲非ASCII符號,rezepte.json應該是這樣的:

[{"name":"Eierkopf","zutaten":["eier","butter","kekse"],"menge":["3 Eier","20g Butter","5 Kekse"],"zubereitung":["1. alles","2. sch\u00f6n","3. mischen."]},{"name":"K\u00e4seschnitte","zutaten":["k\u00e4se","brot"],"menge":["500g K\u00e4se","2 Scheiben Brot"],"zubereitung":["1. Brotunterseite mit Butter bestreichen (altes Brot verwenden)","2. Brotoberseite mit Weisswein betr\u00e4ufeln","3. mit K\u00e4se bedecken und w\u00fcrzen","4. 20min. in vorgeheizten Ofen bei 180 Grad"]},{"name":"Gem\u00fcse-Auflauf","zutaten":["lauch"],"menge":["1 Stengel Lauch","5 Zitronen"],"zubereitung":["1. schneiden","2. Kochen","3. essen","4. xxx","5. yyy","6. en guete"]}] 

格式化:

[ 
    { 
    "name": "Eierkopf", 
    "zutaten": [ 
     "eier", 
     "butter", 
     "kekse" 
    ], 
    "menge": [ 
     "3 Eier", 
     "20g Butter", 
     "5 Kekse" 
    ], 
    "zubereitung": [ 
     "1. alles", 
     "2. sch\u00f6n", 
     "3. mischen." 
    ] 
    }, 
    { 
    "name": "K\u00e4seschnitte", 
    "zutaten": [ 
     "k\u00e4se", 
     "brot" 
    ], 
    "menge": [ 
     "500g K\u00e4se", 
     "2 Scheiben Brot" 
    ], 
    "zubereitung": [ 
     "1. Brotunterseite mit Butter bestreichen (altes Brot verwenden)", 
     "2. Brotoberseite mit Weisswein betr\u00e4ufeln", 
     "3. mit K\u00e4se bedecken und w\u00fcrzen", 
     "4. 20min. in vorgeheizten Ofen bei 180 Grad" 
    ] 
    }, 
    { 
    "name": "Gem\u00fcse-Auflauf", 
    "zutaten": [ 
     "lauch" 
    ], 
    "menge": [ 
     "1 Stengel Lauch", 
     "5 Zitronen" 
    ], 
    "zubereitung": [ 
     "1. schneiden", 
     "2. Kochen", 
     "3. essen", 
     "4. xxx", 
     "5. yyy", 
     "6. en guete" 
    ] 
    } 
] 
+0

非常感謝。我可以請你看看最新的問題。格式有問題嗎? –

+0

比較你的和我的版本中德國符號的編碼方式 –