resultString.AppendLine($"<button role=\"button\" class=\"sendBtn\"><a href=\"www.siteadress/api/reports/{serializedIngedientsList}\" style=\"text-decoration: none; color: #000000\"> Отчёт </a></button>");
Вот здесь не тупая конкатенация должна быть.
Во первых, URL строки должны экранироваться.
Во вторых, здесь ты передаешь через путь, а надо через запрос (то что после ? идет).
В третьих, если передавать через путь, то там не JSON, а собственная структура для сериализации.
Почитай метанит