javascript - 如何从 json 中删除 null 对象

标签 javascript jquery json

我是 Bootstrap JS 新手。我有一个用 Bootsrap JS 制作的表,其数据来自 Json 文件。这是代码-

<div class="container-fluid">
     <div class="row">
         <div class="col-md-8">
             <div class="fixedscroll">
                 <table id="user_table" class="table table-hover table-bordered table-striped responsive" style="margin-bottom: 0;" class="display">
                    <thead>
                        <tr>                                
                            <th>UID</th>
                            <th>Name</th>
                            <th>Address</th>
                            <th>Tags</th>   
                            <th>Edit tags</th>                      
                        </tr>
                    </thead>
                 </table>
             </div>
        </div>
    </div> 

function showAll(){
   $.ajax({
      url: "showAll",
      dataType:"json",
      success:function(data){
            $('#user_table tr:gt(0)').remove();
            jQuery.each(data['Payload'], function(index, value) {
            var row = '<tr>'                            
                   + '<td id="tduid">'+ value['uid']+ '</td>'
                   + '<td>'+ value['name']+ '</td>' 
                   + '<td>'+ value['address']+ '</td>'
                   + '<td>'+ value['tag1']+ ',' + value['tag2']+ ',' + value['tag3']+'</td>' + '<td>'+ '<button class="deleteUser btn btn-danger" type="submit">Edit</button>' + '</td></tr>';

            $('#user_table').append(row);
      }); 
     }
});

现在这个有效负载是我的 json 的名称,它来 self 调用数据库的 servlet。

现在我们有 3 个标签。但有些行有 2 个标签。因此,当我将值放入 json 时,Json 看起来像 -

{"Payload":[{"uid":"u01","name":"Subho","address":"Dumdum","tag1":"aircel","tag2":"vodafone","tag3":"airtel"},{"uid":"u02","name":"Jeet","address":"Baruipur","tag1":"airtel","tag2":"","tag3":"aircel"},{"uid":"u03","name":"Diba","address":"Jadavpur","tag1":"vodafone","tag2":"aircel","tag3":"airtel"},{"uid":"u04","name":"Tommy","address":"Baguihati","tag1":"aircel","tag2":"vodafone","tag3":""},{"uid":"u05","name":"Jonty","address":"Rahara","tag1":"","tag2":"vodafone","tag3":"airtel"},{"uid":"u06","name":"Gourav","address":"Tripura","tag1":"aircel","tag2":"vodafone","tag3":"airtel"}]}

现在您可以看到,对于 UID=U02,有 2 个标签。输出看起来如所附图片。如何删除空白值或空值???请任何人帮助我... enter image description here

最佳答案

我想,你是在说标签栏中额外的 , ...一个困惑的解决方案是

$.ajax({
    url: "showAll",
    dataType: "json",
    success: function (data) {
        $('#user_table tr:gt(0)').remove();
        jQuery.each(data['Payload'], function (index, value) {
            var tags = $.map([value.tag1, value.tag2, value.tag3], function (value) {
                return value || undefined;
            });

            var row = '<tr>' + '<td id="tduid">' + value['uid'] + '</td>' + '<td>' + value['name'] + '</td>' + '<td>' + value['address'] + '</td>' + '<td>' + tags + '</td>' + '<td>' + '<button class="deleteUser btn btn-danger" type="submit">Edit</button>' + '</td></tr>';

            $('#user_table').append(row);
        });
    }
});

正如@Alnitak所说

var tags = [value.tag1, value.tag2, value.tag3].filter(function (value) {
    return value !== undefined;
});
console.log(tags)

关于javascript - 如何从 json 中删除 null 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26602758/

相关文章:

ruby-on-rails - 在rails中渲染json的最快方法是什么

Javascript 使用 if 语句切换

javascript - 如何在客户端用 JavaScript 弹出文本文件

javascript - 我可以在输入文件中一张一张地插入图像吗?

ruby - 使用 ruby​​ 进行网页抓取

ruby-on-rails - rails : :save returns NoMethodError

javascript - 如何访问 jQuery JSON 中的 HTML 元素属性

javascript - 使用 jquery 文本框值小于两个字母(数字)值在前面加上 0

javascript - JQuery 停止点击事件

javascript - jQuery:在状态和类之间切换