c# - 如何在一个信号rest api“include_player_ids”参数中包含字符串列表或字符串数组
问题描述
我正在使用一个信号推送通知休息 api 系统,但我无法理解参数的工作原理。我将提供一个示例,但仅提供硬编码数据。一个信号支持团队绝不是支持性的。我已经有一个字符串 List 'listIds' 和一个 string[] 'arrayIds' 并且我想在“include_player_ids”参数中包含一个或另一个。
这是一个信号的示例代码
byte[] byteArray = Encoding.UTF8.GetBytes("{"
+ "\"app_id\": \"5eb5a37e-b458-11e3-ac11-000c2940e62c\","
+ "\"contents\": {\"en\": \"English Message\"},"
+ "\"include_player_ids\": [\"6392d91a-b206-4b7b-a620-cd68e32c3a76\",\"76ece62b-bcfe-468c-8a78-839aeaa8c5fa\",\"8e0f21fa-9a5a-4ae7-a9a6-ca1f24294b86\"]}");
我尝试用以下几行替换最后一行,但没有任何效果。我无法理解 byte[] 和这些反弹是如何工作的。
+ "\"include_player_ids\": " + guestDevicesList + "}");
+ "\"include_player_ids\": " + arrayIds + "}");
提供硬编码值,代码就可以工作。在用字符串列表或字符串 [] 替换硬编码值时,我需要一些帮助。
解决方案
起初我以为是 JSON 格式,但显然不是。
var list = new string[]
{
"6392d91a-b206-4b7b-a620-cd68e32c3a76",
"76ece62b-bcfe-468c-8a78-839aeaa8c5fa",
"8e0f21fa-9a5a-4ae7-a9a6-ca1f24294b86"
};
var listQuoted = list.Select(i => $"\"{i}\"");
var commaSeparated = string.Join(",", listQuoted);
var finalString = $"[{commaSeparated}]";
推荐阅读
- css - Flex 列与 textarea 折叠
- workbox - 为路由手动执行 workbox.expiration.Plugin.deleteCacheAndMetadata()
- javascript - Setinterval 在滚动时暂停
- javascript - 如何在单击 javascript/jquery 中的文本时启用选项卡及其内容?
- .htaccess - 如何通过 htaccess 重定向带有“%20”的 URL?没有任何效果
- python - Git钩子保留Windows文件权限
- xml - 无效字符。WIX 但在哪里?
- java - 毕加索库如何在占位符/错误上使用转换
- github - github 不会删除大容量目录
- python - Python 3.6 使用 Tkinter 打开一个消息框并继续执行脚本