Apex that uses Dataweave to transform a list into a map indexed by a field
Fri Jul 19 2024 21:52:09 GMT+0000 (Coordinated Universal Time)
Saved by
@taurenhunter
List<Account> accountList = [
SELECT Id, Name, AccountNumber
FROM Account
WHERE Name LIKE 'Test Account - %'
AND AccountNumber != NULL
LIMIT 5
];
Map<String, Object> paramMap =
new Map<String, Object>{ 'records' => JSON.serialize( accountList )
, 'fieldName' => 'AccountNumber' };
DataWeave.Script dwScript =
DataWeave.Script.createScript( 'ListToMap' );
DataWeave.Result result = dwScript.execute( paramMap );
String resultString = result.getValueAsString();
// system.debug( resultString );
Map<String, SObject> objMap = (Map<String, SObject>)
JSON.deserialize( resultString, Map<String, SObject>.class );
system.debug( objMap );
system.debug( objMap.get( '1' ) );
system.debug( objMap.get( '101' ) );
content_copyCOPY
Comments