Javascript jQuery数据表处理空子对象
我正在使用jQuery DataTables,但当我的JSON子对象为Javascript jQuery数据表处理空子对象,javascript,jquery,json,datatables,Javascript,Jquery,Json,Datatables,我正在使用jQuery DataTables,但当我的JSON子对象为null时遇到问题。My JSON有一个嵌套对象地址,它可以是null,因此地址。下面的streetAddress1返回一个错误/警告 DataTables警告:表id=目录表-为第0行请求了未知参数“address.streetAddress1”。有关此错误的详细信息,请参阅 有没有一种方法可以处理null值,使其只是一个空白字符串 $(document).ready(function() { $('#directo
null
时遇到问题。My JSON有一个嵌套对象地址
,它可以是null
,因此地址。下面的streetAddress1
返回一个错误/警告
DataTables警告:表id=目录表-为第0行请求了未知参数“address.streetAddress1”。有关此错误的详细信息,请参阅
有没有一种方法可以处理null
值,使其只是一个空白字符串
$(document).ready(function() {
$('#directory-table').dataTable( {
"lengthMenu": [ 10, 25, 50, 100 ],
"dom": 'C<"clear">lfrtip',
"ajax": {
"url": "directory.json",
"dataSrc" : ""
},
scrollX:true,
"columns": [
{"data" : "fileId"},
{"data" : "fileName"},
{"data" : "institutionId"},
{"data" : "id"},
{"data" : "firstName"},
{"data" : "middleName"},
{"data" : "lastName"},
{"data" : "prefix"},
{"data" : "suffix"},
{"data" : "preferredName"},
{"data" : "gender"},
{"data" : "deleteFlag"},
{"data" : "campusId"},
{"data" : "buildingId"},
{"data" : "primaryEmail"},
{"data" : "secondaryEmail"},
{"data" : "primaryPhone"},
{"data" : "secondaryPhone"},
{"data" : "address.streetAddress1"},
{"data" : "address.city"},
{"data" : "address.state"},
{"data" : "address.zipCode"},
{"data" : "orcid"},
{"data" : "trResearcherId"},
{"data" : "status.name"},
{"data" : "roomNumber"},
{"data" : "createdAt"},
{"data" : "updatedAt"}
]
} );
} );
此记录有一个地址
:
{"fileId":2,"fileName":"9999_DIRECTORY.csv","institutionId":1,"id":"EVER1003","firstName":"George","lastName":"Clooney","middleName":null,"prefix":null,"suffix":null,"preferredName":null,"gender":"M","deleteFlag":"N","campusId":null,"primaryEmail":"cclooney","secondaryEmail":null,"primaryPhone":null,"secondaryPhone":null,"address":null,"buildingId":null,"orcid":null,"trResearcherId":null,"status":{"id":0,"name":"Processed"},"tags":null,"roomNumber":null,"createdAt":"2015-07-22 15:41 PM GMT","updatedAt":"2015-07-22 15:41 PM GMT"}
{"fileId":2,"fileName":"9999_DIRECTORY.csv","institutionId":1,"id":"EVER1013","firstName":"Monica","lastName":"Galler","middleName":null,"prefix":null,"suffix":null,"preferredName":null,"gender":"F","deleteFlag":"N","campusId":"CAMP1000","primaryEmail":"monica@gmail.com","secondaryEmail":null,"primaryPhone":null,"secondaryPhone":null,"address":{"id":0,"streetAddress1":"123 Fake Street","streetAddress2":null,"city":"Cincinnati","state":"OH","stateId":0,"zipCode":"32444"},"buildingId":null,"orcid":null,"trResearcherId":null,"status":{"id":0,"name":"Processed"},"tags":null,"roomNumber":null,"createdAt":"2015-07-23 14:31 PM GMT","updatedAt":"2015-07-24 18:18 PM GMT"}
使用选项
根据报告:
此外,此选项在加载JSON数据时非常有用,因为如果发现JSON中的单元格值为null
(例如,您可以将默认字符串设置为“notavailable”),则将使用此处设置的值
例如:
{"data" : "address.streetAddress1", "defaultContent": ""},
{"data" : "address.city", "defaultContent": ""},
{"data" : "address.state", "defaultContent": ""},
{"data" : "address.zipCode", "defaultContent": ""},
$(document).ready(function() {
$('#directory-table').dataTable( {
"lengthMenu": [ 10, 25, 50, 100 ],
"dom": 'C<"clear">lfrtip',
"ajax": {
"url": "directory.json",
"dataSrc" : ""
},
scrollX:true,
"aoColumns": [
{"mData" : "fileId",
"mRender": function( data, type, full) {
if( data !== null ){
return data;
}
else{
return "";
}
},
//More column definitions
使用aoColumns,您可以指定mRender参数函数调用,以检查所涉及的值是否为null。例如:
{"data" : "address.streetAddress1", "defaultContent": ""},
{"data" : "address.city", "defaultContent": ""},
{"data" : "address.state", "defaultContent": ""},
{"data" : "address.zipCode", "defaultContent": ""},
$(document).ready(function() {
$('#directory-table').dataTable( {
"lengthMenu": [ 10, 25, 50, 100 ],
"dom": 'C<"clear">lfrtip',
"ajax": {
"url": "directory.json",
"dataSrc" : ""
},
scrollX:true,
"aoColumns": [
{"mData" : "fileId",
"mRender": function( data, type, full) {
if( data !== null ){
return data;
}
else{
return "";
}
},
//More column definitions
$(文档).ready(函数(){
$(“#目录表”)。数据表({
“长度菜单”:[10,25,50,100],
“dom”:“Clfrtip”,
“ajax”:{
“url”:“directory.json”,
“dataSrc”:”
},
是的,
“aoColumns”:[
{“mData”:“fileId”,
“mRender”:功能(数据、类型、完整){
如果(数据!==null){
返回数据;
}
否则{
返回“”;
}
},
//更多列定义
能否显示JSON中有空值的部分?您使用的是什么版本的DataTables?我添加了示例JSON。我使用的是1.10.7版。