从JSON文件中获取2组数据的值

时间:2011-01-13 17:23:27

标签: jquery json parsing

我正在从json文件解析数据并转换为HTML表,这已经完成,但我在JSON文件中有2组数据。第二个是获得直接价值。我不知道我做错了什么,是JSON格式还是我试图获取值的方式。任何人都可以指导我如何实现这个目标吗?

// Json文件格式

  

{“posts”:[{“title”:“12”,   “回答”:“55.5”},{“title”:“123”,   “回答”:“66.6”},]“作者”:[{   “book”:“12”,“date”:“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 个答案:

答案 0 :(得分: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");
});
BTW,作者密钥设置为需要在数组中访问的数组:警报中的作者[0] .book。

答案 1 :(得分:0)

我认为您需要在嵌套的每个中重命名数组值,然后针对该属性调用该属性,如下所示:

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

HTH 西奥