2011-01-13 56 views
0

我從json文件解析數據並轉換爲HTML表格,這樣做了,但是我在JSON文件中有2組數據。第二個是獲得直接價值。我不知道我在哪裏做錯了,是JSON格式還是我試圖獲取值的方式。任何人都可以指導我如何實現這一目標?從JSON文件獲取來自2組數據的值

// JSON文件格式

{ 「職位」:[{ 「標題」: 「12」, 「回答」: 「55.5」},{ 「標題」: 「123」, 「答案」: 「66.6」}] 「作者」:[{ 「書」: 「12」, 「日期」: 「55.5」},]}

//腳本

$.getJSON("wc.json",function(data) 
{ 
alert(author.book); 
alert(author.date); 
$.each(data.posts, function(i,data) 
{ 
var faqs = 
"<tr><td>"+data.title+"</td><td>"+data.answer+"</td></tr>"; 
$(faqs).appendTo("#faq tbody"); 
}); 
} 
); 
return false; 
}); 

回答

2

您擁有的JSON格式有語法錯誤。嘗試:

HTML:

<table id="faq"><tbody></tbody></table> 

腳本:

var data = { 
"posts": [ { "title":"12", "answer":"55.5" }, 
      { "title":"123", "answer":"66.6" }], 
"author": [ {"book":"12", "date":"55.5" }] } 


$.each(data.posts, function(i,data) 
{ 
    var faqs = 
    "<tr><td>"+data.title+"</td><td>"+data.answer+"</td></tr>"; 
    $(faqs).appendTo("#faq tbody"); 
}); 

順便說一句,筆者密鑰被設置爲需要在陣列中要被訪問的數組:作者[0] .book在警報中。

+0

由於一噸傑夫...它的工作罰款...... – Sullan 2011-01-13 18:02:35

+0

ECMAScript 5中現在允許在對象和數組中使用尾隨逗號:http://ryanalberts.com/?p=283。因此,您擁有的JSON格式將適用於較新的瀏覽器。 – 2011-04-21 14:14:56

0

我認爲你需要在嵌套每個重命名的數組值,然後調用屬性對抗,就像這樣:

$.each(data.posts, function(i,post){ 
    var faqs = "<tr><td>"+post.title+"</td><td>"+post.answer+"</td></tr>"; 
    $(faqs).appendTo("#faq tbody"); 
}); 

心連心 西奧