我正在编写一个机器人,需要在我的发布请求中添加一个json参数 我遇到的问题是,某些时候我想发送的参数包含以下特殊字符示例,描述了我的全部问题
在下面的示例中,我在使用c#和特殊字符的参数预定义变量中遇到错误
object parameters =
{
[username] = "user",
params = "param"
};
PostRequest(Url, parameters);
答案 0 :(得分:1)
您应该使用json对象,然后像这样将其序列化到您的请求中
public class Params
{
public string cnt { get; set; }
public string lastGlobalMessageTime { get; set; }
public int lastId { get; set; }
}
public class RootObject
{
public string __invalid_name__social[google-login] { get; set; }
public string action { get; set; }
public Params @params { get; set; }
public string session { get; set; }
}
然后您可以创建该类的实例并相应地分配值
RootObject parameters = new RootObject();
parameters.social[google-login] = socialLoginVariable;
parameters.action = ActionVariable;
...
注意:我使用了json2csharp,它告诉您social[google-login]
无效且没有意义,您可以删除__invalid_name__
并仅使用social[google-login]
来查看如果适合您