«Громоздкий» синтаксис - это ручной JSON, и гораздо лучше было бы создать вложения в виде объектов C # и затем преобразовать их в JSON, как того требует API.
В моем примере используется внешнийбиблиотека Json.NET для преобразования JSON.
Пример для объекта C #:
// a slack message attachment
public class SlackAttachment
{
public string fallback { get; set; }
public string text { get; set; }
public string image_url { get; set; }
public string color { get; set; }
}
Пример создания нового массива attachments
:
var attachments = new SlackAttachment[]
{
new SlackAttachment
{
fallback = "this did not work",
text = "This is attachment 1",
color = "good"
},
new SlackAttachment
{
fallback = "this did not work",
text = "This is attachment 2",
color = "danger"
}
};
Наконец, преобразование массива attachments
в JSON для API:
var attachmentsJson = JsonConvert.SerializeObject(attachments);
См. Также этот ответ для полного примера.