【问题标题】:Getting values from 2 sets of data from JSON file从 JSON 文件的 2 组数据中获取值
【发布时间】:2011-01-13 17:23:27
【问题描述】:

我正在解析 json 文件中的数据并转换为 HTML 表,这已完成,但我在 JSON 文件中有 2 组数据。第二个是获取直接值。我不知道我在哪里做错了,是 JSON 格式还是我试图获取值的方式。谁能指导我如何实现这一目标?

//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;
});

【问题讨论】:

    标签: jquery json parsing


    【解决方案1】:

    您的 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");
    });
    

    顺便说一句,作者键设置为需要在数组中访问的数组:警报中的 author[0].book。

    【讨论】:

    • ECMAScript 5 现在允许在对象和数组中使用尾随逗号:ryanalberts.com/?p=283。因此,您拥有的 JSON 格式将适用于较新的浏览器。
    【解决方案2】:

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

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

    hth 西奥

    【讨论】:

      猜你喜欢
      • 2017-11-06
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多