Create Multi-Instance collection in JobWorker

Hello Everyone !
I try to create some User tasks in JobWorker by making a collection like:
[{"name":"demo"},{"name":"john"}]

I send array to Zeebe Brocker in variable namesArray.
The source of java code is here:

@ZeebeWorker(type = "NamesList")
public void NamesList(final JobClient client, final ActivatedJob job) {

    String[] namesArray = {"{\"name\":\"demo\"}", "{\"name\":\"john\"}"};
    System.out.println("namesArray[0]=" + namesArray[0] + "\n namesArray[1]=" + namesArray[1]);

    HashMap<String, Object> variables = new HashMap<>();
    variables.put("namesArray", namesArray);
    client.newCompleteCommand(job.getKey())
            .variables(variables)
            .send()
            .exceptionally((throwable -> {
                throw new RuntimeException("Could not complete job", throwable);
            }));
}

JobWorker works fine:

The process cteate two Multi-instance subprocesses, but with error on every User Task:

failed to evaluate expression ‘myArray.name’: No property found with name ‘name’ of value ‘ValString({“name”:“john”})’. Available properties:

The process diagram is here:
Multi-instance_subprocess_JobWorker_v01.bpmn (5.3 KB)

As I can see, process variable namesArray containes slashes
Is it correct ? I have no slashes in java output. Maybe this is my problem, but I don’t know how to remove they. Is it possible ?

Could you help me, please, to understand what’s wrong in my JobWorker’s java code ?

Have you tried to create an array of POJOs, and let the serialisation library handle the JSON serialisation?

That is where I would suspect the issue to be.

Hi, jwulf !
When I transform my code to avoid back slashes, it looks Ok in java but not in Camunda:

char QM = '\u0022';  // This is symbol "
String[] namesArray = {"{"+QM+"name"+QM+":"+QM+"demo"+QM+"}", "{"+QM+"name"+QM+":"+QM+"john1"+QM+"}"};
System.out.println("namesArray=" + Arrays.toString(namesArray));

Output in java:
namesArray=[{"name":"demo"}, {"name":"john1"}]

But my process variable namesArray in Camunda still containes additional symbols:
["{\"name\":\"demo\"}","{\"name\":\"john1\"}"]

It’s comfortable for me to work with strings. Is it possible to correct my code a little to send right process variable to Zeebe ?
Or, maybe, you can show your working example: how to send a simple collection to Camunda ?