json - 如何向用户显示 json feed?

标签 json jquery

我有一个有效的 json 提要,我通过使用 jquery 访问 php 文件从服务器中提取该提要。查询 php 文件返回的 json feed 示例为

{"items":[{"acc_number":"11111","acc_name":"TestAccount","demographics":["Some
Street","SomeState","99999"],"last_thirty":null,"phone":null,"sms":null,"email":null},    {"acc_number":"22222","acc_name":"MyAccount","demographics":"MyStreet","MyState","99999"],"last_thirty":null,"phone":null,"sms":null,"email":null}],"total_items":"80","md5sum":"c7a834d45bdf348abfdcdb95994c7608"}

我正在使用下面的代码,我将遍历 feed 并删除所有不为 NULL 的记录和字段。但我什么也没得到。

$.ajax({
   type= 'GET',
   url: 'http://MyURL.com',
   dataType: 'json',
   username: myusername,
   password: mypassword,
   success: function(data) {
        var items = [];
        $.each(data, function(key,val) {
        items.push('<li id="' = key = '">' + val + '</li>');
});

$('<ul/>', {
   'class': 'my-new-list',
    html: items.join('')
    }).appendTo('body');
} 
});
}

一如既往地感谢任何帮助/提示。

谢谢!

根据以下答案进行更新。

$(document).ready(function() {
  testNews();
});

function testNews() {
$('body').append('<h1>News</h1>');
$('body').append('<h2>Main Display</h2>');
$('body').append("<div id='success_news_main' class='waiting'>Waiting for response</div>");

$.ajax({ 
type: "GET",    
url: 'http://MyURL.com/news.php', 
dataType: 'json',
username: myusername, 
password: mypassword,
success: function(data) {
    var ul = $('<ul/>').addClass('my-new-list').appendTo('body');
    $.each(data.items, function(k,v) {
    $('<li/>').attr('id', k).html(v).appendTo(ul);
});
}
});
}

最佳答案

尝试迭代 data.items 而不是 data,因为这是您的集合:

success: function(data) {
    var items = [];
    $.each(data.items, function(key, val) {
        items.push('<li id="' + key + '">' + val + '</li>');
    });

    ...
}

此外,您的 items.push 方法似乎因多个 = 字符而损坏。您可能指的是 +

另一个注释是 $.each 语句中的 val 变量。它将是一个对象。您可能想从此对象中选择特定属性,例如:

items.push('<li id="' + key + '">' + val.acc_number + '</li>');

键将是数组的索引。由于 HTML 中的 id 不能以数字开头,如果您想要有效的 HTML,您可能需要在 li id 前面加上前缀:

items.push('<li id="item_' + key + '">' + val.acc_number + '</li>');

关于json - 如何向用户显示 json feed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7287717/

相关文章:

javascript - 使用 Angular 更改存储在 JSON 中的 bool 值?

java - 使用 XStream 和 JsonHierarchicalStreamDriver 输出值,如何舍入 double ?

javascript - 由fabric.curvedText.js创建的弯曲文本不支持loadFromJSON函数

javascript - jQuery onchange sum 无法限制输入类型数量

sql - ActiveRecord 查询以查找给定键的 JSON 值数组

android - 嵌套的 json 解析为 android 与 jackson

jquery - 为什么 Meteor 1.4 加载 jQuery 1.11.2?

javascript - 将文本从一个文本框复制到另一个文本框,但有一些限制

jquery - PC 上的 Google Chrome 在 document.createEvent ("TouchEvent"处成功)...?

javascript - 获取具体的 el。类(如果有很多类)