Child Class:
public class Child{ public String Name; public Child(String name) { this.Name = name; } }
Parent Class:
public class Parent{ public Child[] ChildRecords; public String Name; public Parent(String Name) { this.Name = name; ChildRecords = new Child[0]; } }
Pass parameters to above class using below code:
//Select Account Id from Account Object String accountId = '0012800001A4UgG'; //Select Account & Contact Records Account acc = [SELECT Id, Name, (SELECT Id, Name FROM Contacts) FROM Account WHERE Id =: accountId]; //Create a parent record Parent par = new Parent(acc.Name); //Loop on Contacts for(Contact con: acc.Contacts) { par.childRecords.add(new Child(con.Name)); } //Get the Json data String jsonData = JSON.serialize(par); System.debug('JsonData-' + jsonData);
Here is the debug log snapshot of Json data:
Note: This is the sample class. You can modify it as per your requirement.