定义新对象时是否可以使用特殊字符

时间:2019-06-03 15:22:43

标签: c# httprequest restsharp

我正在编写一个机器人,需要在我的发布请求中添加一个json参数 我遇到的问题是,某些时候我想发送的参数包含以下特殊字符示例,描述了我的全部问题

在下面的示例中,我在使用c#和特殊字符的参数预定义变量中遇到错误

object parameters =
{
        [username] = "user",
        params = "param"
};

PostRequest(Url, parameters);

1 个答案:

答案 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]来查看如果适合您