You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将foreach循环中获取的JToken转换为指定格式的JArray

实现方案

实现逻辑

  • 你拿到的JToken实际为JObject类型,先做类型校验避免运行时报错
  • 遍历JObject的所有属性,将属性名首字母大写后与属性值拼接为指定格式字符串
  • 每个拼接完成的字符串单独封装为JArray实例即可得到目标输出

最优代码实现

using Newtonsoft.Json.Linq;

// 你在foreach中获取到的JToken实例
JToken value = JToken.Parse(@"{""test"":123, ""test2"":""456""}");

if (value.Type == JTokenType.Object)
{
    JObject jsonObj = (JObject)value;
    foreach (JProperty property in jsonObj.Properties())
    {
        // 处理属性名首字母大写
        string formattedKey = char.ToUpper(property.Name[0]) + property.Name.Substring(1);
        string content = $"{formattedKey}:{property.Value}";
        JArray targetArray = new JArray(content);
        
        // 输出或使用生成的JArray
        Console.WriteLine(targetArray.ToString(Newtonsoft.Json.Formatting.None));
    }
}

输出结果

运行上述代码将直接输出你要求的格式:

["Test:123"]
["Test2:456"]

方案优势

  • 仅单次遍历JObject属性,时间复杂度为O(n),无额外序列化/反序列化开销,性能最优
  • 提前做类型判断,兼容非对象类型的JToken输入,不会抛出异常
  • 代码简洁易维护,符合Newtonsoft.Json的最佳实践

内容的提问来源于stack exchange,提问作者ps11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:57:02