String data = '{"Technology":"Salesforce","countries":[{"countryName":"India","states":[{"AP":"AndhraPradesh","TS":"Telangana","KA":"Karnataka"}]},{"countryName":"USA","states":[{"TS":"Texas","VA":"Virginia","WA":"Washington"}]}]}';
Map<String, Object> mapData = (Map<String, Object>) JSON.deserializeUntyped(data);
//get the Technology value
String technVal = String.valueOf(mapData.get('Technology'));
system.debug('==Technology value==='+technVal);
//output: Salesforce
//get the countries list
List<Object> countriesList = (List<Object>) mapData.get('countries');
system.debug('==countriesList=='+countriesList);
//output: ({countryName=India, states=({AP=AndhraPradesh, KA=Karnataka, TS=Telangana})}, {countryName=USA, states=({TS=Texas, VA=Virginia, WA=Washington})})
//get the first record from the countriesList
system.debug('==First record=='+countriesList[0]);
//output: {countryName=India, states=({AP=AndhraPradesh, KA=Karnataka, TS=Telangana})}
//get the second record from the countriesList
system.debug('==Second record=='+countriesList[1]);
//output: {countryName=USA, states=({TS=Texas, VA=Virginia, WA=Washington})}
//get the key and value of the first record
Map<String, Object> firstRecord = (Map<String, Object>) countriesList[0];
String countryName = String.valueOf(firstRecord.get('countryName'));
system.debug('==FirstRecord CountryName=='+countryName);
//output: India
//get the states value based on the key
List<Object> statesList = (List<Object>) firstRecord.get('states');
Map<String, Object> mapstatesData = (Map<String, Object>) statesList[0];
String apStateVal = String.valueOf(mapstatesData.get('AP'));
System.debug('==AP state value =='+apStateVal);
//output: AndhraPradesh
Comments
Post a Comment