2

I want to render column data of nested json object to JQuery Datatable Cell. I tried several hours for this but didn't able to achieve. Following is my Json result.

JSON

    [
    {
        "auditSectionId": 2,
        "associateAuditId": 2,
        "associateAudit": {
            "id": 2,
            "auditTitle": "Duis id justo quis nibh facilisis rutrum.",
            "year": 2011,
            "term": 1,
            "createdUser": null,
            "createdUserUserId": 2,
            "createdDate": "2018-05-19T11:16:13.553",
            "lastUpdatedUser": null,
            "lastUpdatedUserUserId": null,
            "lastUpdatedDate": null,
            "updatedCount": 0,
            "isDeleted": false,
            "auditOfAuditSection": []
        },
        "auditAreaDepartmentId": 1,
        "auditArea": {
            "departmentId": 1,
            "departmentName": "MIS",
            "location": "D Block Ground Flow",
            "description": "All are qualified",
            "personInIncharge": null,
            "personInInchargeEmployeeId": 23,
            "responsibleDepartmentForCalibrationLog": null,
            "responsibleDepartmentForServiceLog": null,
            "locationOfEquipment": null,
            "departmentOfAuditSection": []
        },
        "plannedDateTime": "2018-05-01T13:00:00",
        "conductedDateTime": "2018-05-09T11:30:00",
        "auditor": [
            {
                "teamMember": {
                    "schedules": [],
                    "employeeId": 2,
                    "employeeNo": "00005339",
                    "employeeStatus": true,
                    "epfNo": "00000325",
                    "nameWithInitial": "R E PRASANDINI",
                    "callingName": "Erandika",
                    "department": {
                        "departmentId": 1,
                        "departmentName": "MIS",
                        "location": "D Block Ground Flow",
                        "description": "All are qualified",
                        "personInIncharge": null,
                        "personInInchargeEmployeeId": 23,
                        "responsibleDepartmentForCalibrationLog": null,
                        "responsibleDepartmentForServiceLog": null,
                        "locationOfEquipment": null,
                        "departmentOfAuditSection": []
                    },
                    "departmentDepartmentId": 1,
                    "appoinmentDate": "2011-11-08T00:00:00",
                    "designation": "Production Executive",
                    "isResigned": false,
                    "resignedDate": "2017-02-07T00:00:00",
                    "isTerminated": false,
                    "isRetired": false,
                    "isTrainee": false,
                    "isSkilled": false,
                    "isUnSkilled": false,
                    "isSemiSkilled": false,
                    "isManagerial": false,
                    "isContract": false,
                    "contractEndDate": "2016-07-15T00:00:00",
                    "isSupervisor": false,
                    "isSecurity": false,
                    "isOfficeStaff": true,
                    "isTechnical": false,
                    "qualifications": "",
                    "gender": "Female",
                    "profile": null,
                    "profileId": 1,
                    "personInIncharge": null,
                    "recieverCommunication": null,
                    "senderCommunication": null,
                    "responsiblePersonForCalibrationLog": null,
                    "responsiblePersonForServiceLog": null,
                    "employeeCommunicationAchievementResponsibility": null
                },
                "teamMemberEmployeeId": 2,
                "allowableScope": "Duis id justo quis nibh facilisis rutrum.",
                "qualification": "Duis id justo quis nibh facilisis rutrum.",
                "experience": "Duis id justo quis nibh facilisis rutrum.",
                "isActive": true,
                "section": []
            }
        ],
        "createdUser": null,
        "createdUserUserId": 2,
        "createdDate": "2018-05-19T11:24:26.907",
        "lastUpdatedUser": null,
        "lastUpdatedUserUserId": null,
        "lastUpdatedDate": null,
        "updatedCount": 0,
        "isDeleted": false
    }
]

The problem arise with following json data segment

"auditor": [
        {
            "teamMember": {
                "schedules": [],
                "employeeId": 2,
                "employeeNo": "00005339",
                "employeeStatus": true,
                "epfNo": "00000325",
                "nameWithInitial": "R E PRASANDINI",
                "callingName": "Erandika",
                "department": {
                    "departmentId": 1,
                    "departmentName": "MIS",
                    "location": "D Block Ground Flow",
                    "description": "All are qualified",
                    "personInIncharge": null,
                    "personInInchargeEmployeeId": 23,
                    "responsibleDepartmentForCalibrationLog": null,
                    "responsibleDepartmentForServiceLog": null,
                    "locationOfEquipment": null,
                    "departmentOfAuditSection": []
                },
                "departmentDepartmentId": 1,
                "appoinmentDate": "2011-11-08T00:00:00",
                "designation": "Production Executive",
                "isResigned": false,
                "resignedDate": "2017-02-07T00:00:00",
                "isTerminated": false,
                "isRetired": false,
                "isTrainee": false,
                "isSkilled": false,
                "isUnSkilled": false,
                "isSemiSkilled": false,
                "isManagerial": false,
                "isContract": false,
                "contractEndDate": "2016-07-15T00:00:00",
                "isSupervisor": false,
                "isSecurity": false,
                "isOfficeStaff": true,
                "isTechnical": false,
                "qualifications": "",
                "gender": "Female",
                "profile": null,
                "profileId": 1,
                "personInIncharge": null,
                "recieverCommunication": null,
                "senderCommunication": null,
                "responsiblePersonForCalibrationLog": null,
                "responsiblePersonForServiceLog": null,
                "employeeCommunicationAchievementResponsibility": null
            },

I want to render auditor namewithinitials column which nested in auditor.teamMember into JQuery Datatables cell. The AuditorSection and Employee tables have many to many relationship. So far I wrote JQuery Datatable render method as follow

{
  data: "auditor.[,].teamMember",
  render: function (data, type, row) {                                
         alert(data.nameWithInitial);
         return data;
    }
 }

But it won't work. I'm new to Datatables. So please give me any help and suggestion to solve this. Thanks

2 Answers 2

2

Thanks all I found the solution. I just need to do is getting teamMember.callingName object from auditor object array.

{
    //8
    data: "auditor.[,].teamMember.callingName",
    render: function (data, type, row) {
       return data;
    }
}
Sign up to request clarification or add additional context in comments.

Comments

0

In this data JSON schema that i'm working with:

{
  id: 3271,
  date: "2019-12-18",
  description: "Lots of text",
  agreements: [
    {
      agreement: {
        description: "Ok. "
      }
    }
  ]
}

I was having trouble accessing JSON data like above, this is I could solve it


$('.table-data-correspondencia').DataTable({
        "ajax": {
            "processing": true,
            "url": "agreements_data.json",
            "dataSrc": ""
        },
        "columns": [
            { "data": "id" },
            { "data": "date" },
            { "data": "description" },
            { "data": "agreements.[,].agreement.description" },
        ],
            "lengthChange": false,
            "bSort": false,
        responsive: true,
            language: {
                search: "_INPUT_",
                searchPlaceholder: "Buscar",
                info: "Mostrando _PAGE_ de _PAGES_",
                "paginate": {
                    "next": "Siguiente página",
                    "previous": "Página Anterior"
                }
            }
        });

I hope this can help someone!

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.