我正在使用一种信号推送通知其余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 + "}");
提供硬编码的值,代码即可工作。在用字符串列表或字符串[]替换硬编码值时,我需要一些帮助。
答案 0 :(得分:1)
我本来以为是JSON格式,但显然不是。
eth1
答案 1 :(得分:0)
您是否因为使用System.Net.WebClient()
而使用byteArray?
我建议改用HttpClient
。您可以改为使用字符串上传。
如果您确实需要字节数组,请尝试使用Encoding.ASCII.GetBytes()
而不是ASCII characters
而不是UTF8
。