Data Actions don't handle hierarchical nested arrays like that very well. I would suggest that your output contact just have a single object that is returned to Architect as a JSON object and then you can use expressions in Architect to query into the JSON object as necessary.
Since arrays are not supported in this scenario, I'll return a single JSON object. This is my data action now. However, the output parameter is still not showing up, even after refreshing.
I know how to predefine a JSON ahead of time with values, but once I get the new values from the data action, I don't know how to change the fields in my JSON to become the new values of the data action's output object. You suggested using expressions, which I've tried before but with no success. Could you please provide me with an example on how to modify one of the fields I have for my TestJson variable that I created in Architect?
First, I think you need to put the response template back to the default so that the entire "rawResult", which should just be your full JSON object, is the thing that is returned to the output contact object named "JSONObject". Like this:
Then in Architect in the block were you are making an assignment to your variable in the "Value to Assign 11" field change that to an "Expression" and in the Expression Editor you can use the JSON functions to pull values out of the JSON object. Click the "f(x)' button and search for "json" and you'll see all of the JSON functions available to you within the expression builder.