c# - 使用 LINQ 连接 JArray 中的字符串

标签 c# linq json.net

我有一个看起来像这样的 JArray:

enter image description here

我正在使用下面的代码来获得预期的结果:6035940:8061090,6035940:8084337

我可以用 Linq 清理它吗?怎么办?

public static string GiveClientCampaignParam(JArray myArray)
{
    StringBuilder sb = new StringBuilder();

    foreach (var arrayItem in myArray)
    {
        string clientId = arrayItem["ClientId"].ToString();
        string campaignId = arrayItem["CampaignId"].ToString();

        sb.Append(clientId + ":" + campaignId + ",");
    }
    sb.Remove(sb.Length - 1, 1);

    return sb.ToString();
}

最佳答案

使用 string.JoinSelect将 JArray 元素投影到字符串:

public static string GiveClientCampaignParam(JArray myArray)
{
    return string.Join(",", myArray.Select(j => $"{j["ClientId"]}:{["CampaignId"]}"));
}

使用 string.Join也意味着您不需要从末尾减去额外的逗号。

关于c# - 使用 LINQ 连接 JArray 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26637176/

相关文章:

LINQ 在类项目上不同?

c# - 使用无效标记反序列化 Json

javascript - 具有多个 key 对的 JSON 的适当数据结构

c# - 如何从 Unity 容器中获取服务对象?

c# - 如何在非常大的输入上没有中间文件的情况下使用 GZipStream 进行多线程压缩/解压缩

c# - DeleteOnSubmit LINQ 异常 "Cannot add an entity with a key that is already in use"

c# - 反序列化时 Newtonsoft Json.NET JsonConverter 属性保留引用问题

c# - iTextSharp 密码保护的 PDF

c# - IEnumerable<T> 如何在后台工作

c# - 不使用 MemberInit 创建实例和设置成员的表达式