在没有先前知道内容的情况下从json文件中检索数据

时间:2014-06-05 09:58:57

标签: jquery json

在我的spring项目中,我使用json-taglibs生成了几个json文件,其结构与此类似:

<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<json:object>
    <json:array name="item" var="item" items="${lista}">
          <json:object>
             <json:property name="id" value="${item.id}"/>
             <json:property name="login" value="${item.login}"/>
             <json:property name="pnome" value="${item.first_name}"/>
             <json:property name="unome" value="${item.last_name}"/>
             <json:property name="email" value="${item.email}"/>
          </json:object>
    </json:array>
</json:object>

我使用这些文件生成带有此jquery代码的表:

function load_content(lista, target){
    var atributos = [];
    target.find("thead.header").each(function(){
        var temp = $(this).text();
        console.log(temp);
        atributos.push(temp);
    });

    var url = lista;
    $.get(url, function(data){
        var json = jQuery.parseJSON( data );
        $.each(json.item, function(index, item){
            var row = $('<tr id=user'+item.id+'>');

            for(var i=0; i<atributos.length; i++) {
                if(atributos[i] == '#') {
                    row.append('<td></td>');
                }
                else if(atributos[i] == '') {
                    var col = $('<td>');
                    target.find("tfoot.actions").each(function(){
                        var nome = $(this).data("nome");
                        var action = $(this).data("action");
                        col.append('<button type="button" class="btn btn-sm btn-primary link" data-action="'+action+'/'+item.id+'">'+nome+'</button>');
                    });
                    row.append(col);
                }
                else {
                    var token = "item."+atributos[i];
                    row.append('<td>'+item.login+'</td>');
                }
            }

            target.find("tbody.content").append(row);
        });
    });
}

我需要对这部分代码提供一些帮助:

else {
  var token = "item."+atributos[i];
  row.append('<td>'+item.login+'</td>');
}

此parte应该从json文件(在示例中,登录,pnome,unome,email)中读取属性并添加到该行。问题是每个json文件都有自己的属性,我需要这个代码适用于所有这些。

任何人都知道如何做到这一点?

0 个答案:

没有答案