Fix composer.json parsing