I am creating a Logic app which reads from a Sharepoint list and places certain results in a CSV file in an Azure storage account. Here are the first few steps:

- Check the Sharepoint list for changes. If a change is detected, then...
- Read the list
- From the list items, map values in the list to fields in what will become the CSV:

So far, so good. But I don't want to bring over complete fields necessarily. For example, there is a "Created By" field whose output in the CSV is in the form:
"{""@odata.type"":""#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser""|""Claims"":""i:0#.f|membership|john.smith@example.com""|""DisplayName"":""John Smith""|""Email"":""john.smith@example.com""|""Picture"":""<URL to picture>""|""Department"":""US Contracts Solutions""|""JobTitle"":""Sr Consultant""}"
I'd like to extract just the email address from "DisplayName" from that, but I'm running into lots of problems. Let me start with the first one, and follow up as needed (since resolving that may solve everything or simply change the nature of following problems). It seems like I'd want to use the SPLIT expression as a starting point to extract the email address. I'm ok with figuring out the formulas, but when I select the SPLIT expression and then try to add "Created By" as an argument, it isn't available in the "Get Items" . To be clear:
- When I just want to add "Created By" as unaltered dynamic content, without an expression, it is available:

- But when I want to use it as an argument to an expression, it isn't available under "Get Items":

It is available in the "When an item is created or modified" section of the mapping popup. I can just write out the expression in the code view, but it is invariably broken, or is discarded automatically by Logic apps, or the expression appears in the output as plain text.
So how do I access that particular piece of dynamic content? More generally, how do I extract just one part of 'Created By'?