JsonResponse не при чем. Дело в json_encode. Вам нужна опция
JSON_FORCE_OBJECT
use Symfony\Component\HttpFoundation\JsonResponse;
$data = [
'List' => [
0 => [
'id' => 'id0',
],
1 => [
'id' => 'id1',
],
],
];
dump(
new JsonResponse(
json_encode($data, JsonResponse::DEFAULT_ENCODING_OPTIONS | JSON_FORCE_OBJECT),
200,
[],
true
)
);
// or
$response = new JsonResponse($data);
$response->setEncodingOptions(JsonResponse::DEFAULT_ENCODING_OPTIONS | JSON_FORCE_OBJECT);
dump($response->getContent());
Либо, если это нужно регулярно и много где, можно создать свой JsonResponse, который наследуется от стандартного, в котором изменить encodingOptions на нужные