我正在从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;
});
答案 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 西奥