【发布时间】:2019-06-25 22:52:48
【问题描述】:
我使用 Slack block kit builder 制作了一个模板
我读取了一些数据并填写了八个参数
在我的 C# 代码中,我必须使用内插字符串和花括号来提供参数 {}。我还需要通过添加两次来跳过大括号。
但是当我进行发布消息调用时,这不会被识别为正确的 json:
var data = new NameValueCollection();
data["token"] = token;
data["channel"] = channelName;
data["as_user"] = "true";
data["text"] = postedMessage;
data["blocks"]=jsonstring;
var client = new WebClient();
var response = client.UploadValues("https://slack.co/api/chat.postMessage", "POST", data);
string responseInString = Encoding.UTF8.GetString(response);
Console.WriteLine(responseInString);
我理解正确的方法是将这些块表示为 classes 。我试图遵循松弛附件表示,但块更复杂,包含内部对象而不是字符串变量作为附件类。感谢您支持使用简单的语法和正确的 json 来表示块
【问题讨论】:
-
好的,我来看看这个例子。但是我可以在我的 json 字符串中包含变量来填充参数吗?
-
是的,这是可能的。但这可能很棘手,因为您需要以 JSON 方式转义一些字符才能使其工作,例如UTF-8 中的特殊字符
-
有关 JSON 如何工作的官方文档请参阅此文档:json.org