I found a Object Editor, like in the Delphi IDE, in FNC UI components. But it seems like overkill.
I want the ability to work with some arbitrary JSON response that's structured, so it's the same fields being returned all the time, and let the user pick the ones they want and build a list where there will be a token they can use in a report, like %email% and associate it with a field in the JSON packet that might be "email" or "E-Mail" or whatever. They can make the token whatever they want, like {email} or /e.m.a.i.l/ ... you get the idea. This becomes a lookup table between the token in their text field that they want to be replaced by the value of the corresponding field in the JSON response. They can edit the token, but not the name of the JSON element.
The reason is that the names returned in the JSON packet might be unexpected or just nonsense. I'm playing with a packet I get back from a site that provides weather updates, and the field that reports the current weather condition is named "text". It's the only field named that in the entire packet, which is nice. But using {text} like: Current weather conditions: {text}
is not exactly clear -- the whole path is current.conditions.text
, which makes more sense, but I want something shorter because some paths can be incredibly long.