When converting to json, associative arrays are converted to objects, to get an array in json, the input must have an indexed array whose keys are in order, otherwise an object will be created. Therefore, the option [user:{"name":"admin"}] not possible, since it is associative, instead you can get only {"user":{"name":"admin"}}
//{"name":"admin"} echo json_encode([ 'name' => 'admin', ]); //[{"name":"admin"}] echo json_encode([ [ 'name' => 'admin', ] ]); //{"user":{"name":"admin"}} echo json_encode([ 'user' => [ 'name' => 'admin', ], ]); //["name","admin"] echo json_encode([ 0 => 'name', 1 => 'admin', ]); //{"1":"name","0":"admin"} echo json_encode([ 1 => 'name', 0 => 'admin', ]); //{"user":[{"name":"admin"}]} echo json_encode([ 'user' => [ [ 'name' => 'admin', ], ], ]);
{"user" : [ {"name" : "admin" } ]}- VAndrJ