【问题标题】:How to concatenate to string correctly [closed]如何正确连接到字符串[关闭]
【发布时间】:2023-03-23 17:53:02
【问题描述】:

我有一个简单而基本的问题。

我有这个示例代码:

request.AddHeader("authorization", "Bearer _XU6l1eaDs9NQRTcb5QG4m0-ab1F3Y29ikw");
request.AddParameter("application/json", "{\"panelists\":
[{\"name\":\"Mary\",\"email\":\"maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj\"},
{\"name\":\"Mike\",\"email\":\"dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf\"}]}", ParameterType.RequestBody);

我想替换硬编码的值:

_XU6l1eaDs9NQRTcb5QG4m0-ab1F3Y29ikw

"{\"panelists\":
    [{\"name\":\"Mary\",\"email\":\"maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj\"},
    {\"name\":\"Mike\",\"email\":\"dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf\"}]}"  

带有 2 个字符串变量:

  IList<Panelist> panelists = parameters.panelists;
  string bearer = parameters.bearer;

我脑子里放了个屁,无法正确处理,将这些变量连接到字符串的正确方法是什么?

我在做:

        request.AddHeader("authorization", "Bearer " + bearer);
        request.AddParameter("application/json", panelists, ParameterType.RequestBody);

但这并不正确。

感谢您的帮助。

【问题讨论】:

  • "with 2 string variables:" - 我只看到一个字符串变量。另一个是Panelist的列表。
  • 你是对的,请原谅我的不正确。一个是变量,另一个是值列表。
  • 我不明白您打算如何从这些值中创建一个字符串。尤其是当一个似乎是不记名令牌,而另一个似乎是请求正文时。它们看起来不像是一个字符串的候选者。
  • 你能解释一下“那不正常工作”是什么意思吗,因为这可能意味着几乎任何事情?
  • edit问题而不是cmets。目前还不清楚你得到了什么确切的错误/输出,以及它与你想要的有什么不同。旁注:考虑像其他人一样使用HttpClient,这样您就可以轻松复制示例而不是自己编写类...

标签: c# string concatenation


【解决方案1】:

更新:OP 在这里提出了这个问题 C# format an array for post to Api

我需要以可以将其作为请求正文传递的方式格式化值列表。

您需要将 IList 转换回字符串吗?因此,用模型表示 JSON 结构不是更好吗:

public class Panelist    {
    public string name { get; set; } 
    public string email { get; set; } 

}

public class Root    {
    public List<Panelist> panelists { get; set; } 
}

将 JSON 添加到模型中或在初始化时填充模型

myJson = {\"panelists\":
    [{\"name\":\"Mary\",\"email\":\"maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj\"},
    {\"name\":\"Mike\",\"email\":\"dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf\"}]}";

Root myDeserializedClass = JsonConvert.DeserializeObject(myJson)

然后将Model序列化为字符串:

request.AddParameter("application/json", JsonConvert.SerializeObject(myDeserializedClass), ParameterType.RequestBody);

【讨论】:

    猜你喜欢
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    相关资源
    最近更新 更多