PHP + Slim3 + Twig で生成した json データを javascript で扱う

下記のような PHP で生成したデータを javascript で json 形式にて扱いたい時。

$data = [
	'result' => 'success',
	'data' => [
		[
			'id' => 1,
			'name' => 'Prodigy',
		],
		[
			'id' => 2,
			'name' => 'Rage Against The Machine',
		],
	],
];

Twig には便利なフィルターが色々ある

<script type="text/javascript">
	let d = '{{ data|json_encode()|escape("js") }}'
	try {
		d = JSON.parse(d)
	} catch(e) {
		d = null
	}
	console.log(d)
</script>