Skip to main content

Apex JSON Parser

Below apex method helps in finding record corresponding to a key from the JSON.

public static String parserUtility(String jsonString, String recordType){
        try{
            JSONParser parser = JSON.createParser(jsonString);
            while (parser.nextToken() != null) {
                if (parser.getCurrentToken() == JSONToken.FIELD_NAME) {
                    parser.nextToken();
                    if(parser.getCurrentName() == recordType){
                        return parser.getText();
                    }
                }
            }
        }catch(Exception e){
          e.getMessage();
            return null;
        }
        return '';
    }

Example:
String jsonString = '{"size":1,"totalSize":1,"done":true,"queryLocator":null,"entityTypeName":"ApexOrgWideCoverage","records":[{"attributes":{"type":"ApexOrgWideCoverage","url":"/services/data/v39.0/tooling/sobjects/ApexOrgWideCoverage/716dddsdadfef"},"Id":"7134354580efdfsdf","PercentCovered":33}]}';

parserUtility(jsonString, 'PercentCovered');

it returns: 33


Comments

Popular posts from this blog

Creating Remote Site Settings Dynamically

As remote site setting is essential for making callouts to external systems. We can create remote site through apex code: Steps: 1.       Add a metadataService class either through WSDL or you can use attached  file: metadataService.class 2.       Use below code: public void createRemoteSiteSetting (){     MetadataService.MetadataPort service = createService();     MetadataService.RemoteSiteSetting remoteSiteSettings = new MetadataService.RemoteSiteSetting();     remoteSiteSettings.fullName = ‘abc123';     remoteSiteSettings.url = 'http://www.clrdp727.com';     remoteSiteSettings.isActive=true;     remoteSiteSettings.disableProtocolSecurity=false;     service.createMetadata(new List<MetadataService.Metadata> { remoteSiteSettings }); } // This method returns the metadata service, using this we ...

Fetching the list of Classes along with their code coverage using API

Tooling API Fetching the list of Classes along with their code coverage using Tooling API We can find the list of classes along with their code coverages from external system. PFB code to fetch the list of classes along with their coverage details, Using  Tooling API. (Here rest call is made, same can be implemented by SOAP). ----------------------------------------------------------------------------------------------------------------------     HTTPRequest req = new HTTPRequest();     String myQuery=’ select+id,ApexClassOrTrigger.Name,NumLinesCovered,NumLinesUncovered+from+ApexCodeCoverageAggregate’;     req.setEndpoint('<Login Instance> /services/data/v39.0/tooling/query/?q= '+myQuery); // Login Instance Example:  https://demo727-dev-ed.my.salesforce.com     req.setMethod('GET');     req.setHeader('Authorization', 'Bearer ' +<Enter the Session Id>); // Example: U...

Salesforce Certified Administrator - Spring '18 Release Exam Questions

Hi, Below are the questions of the Salesforce Certified Administrator - Spring '18 Release Exam. Q1 . Which three functions are available with chart enhancements in lightning experience? Choose 3 Answers A. Download Chart images from dashboard components. B. Combine small groups into "others" on any chart. C. Show total in the center of donut charts. D. Set Chart legend position. E. Display upto 2,000 groups in line and bar charts in dashboards. Ans: ACD. Q2 . Which functionality is available to a support agent directly from the case feed? A. Configure an email template. B. Mass Email. C. Reply and forward an email. D. Delete an Email. Ans: C. Q3. What must the administrator consider when enabling Themes? A. There is no built-in theme if a custom theme is not created. B. Any user can select a theme and avatar based on their role. C. Only one theme can be active at a time and is applied to the entire org. D. Chatter External users also see the custom theme. Ans: C. Q4 . W...