[SalesForce] How to use DescribeSObjectResult to fetch SObject field information

I have a requirement where I've to fetch all 10 fields of a custom Object My_Object__c and store it in a Map<String, String> labelMap // 1st string is the label and 2nd string is the Field Name

I know by using DescribeSObjectResult we can fecth all Sobject and it's field information.

But, how will I implement that ?

Best Answer

You can do it like this:

Map<String, String> labelMap = new Map<String, String>();
Schema.DescribeSObjectResult objectDescribe  = My_Object__c.SObjectType.getDescribe();
Map<String, Schema.SObjectField> fieldMap = objectDescribe.fields.getMap();
for( String fieldName : fieldMap.keySet() ) {
    Schema.SObjectField field = fieldMap.get( fieldName );
    Schema.DescribeFieldResult fieldDescribe = field.getDescribe();
    labelMap.put(fieldDescribe.getLabel(), fieldDescribe.getName() );
}
Related Topic