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

C#读取JSON数组键值对并存入Dictionary的实现求助

C# 读取JSON数组字段写入Dictionary实现方案

你已经完成普通键值对的读取逻辑,处理parameterName3数组字段只需要取出对应JArray类型节点,遍历后将每个元素的键值对存入字典即可。

具体实现代码

把你构造函数里注释位置的示例Add代码替换成以下逻辑即可:

// 取出JSON中parameterName3对应的数组节点
JArray param3Array = data["parameterName3"] as JArray;
if (param3Array != null)
{
    foreach (var item in param3Array.Cast<JObject>())
    {
        string dictKey = item["parameterName3Key"].Value<string>();
        string dictValue = item["parameterName3Value"].Value<string>();
        parameterName3.Add(dictKey, dictValue);
    }
}

注意事项

  • 代码文件头部需要补充命名空间引用:using Newtonsoft.Json.Linq;,否则JArray、JObject类型无法识别
  • 如果JSON中存在重复的parameterName3Key值,Add方法会抛出重复键异常。如果业务上允许后出现的值覆盖旧值,把Add语句改成parameterName3[dictKey] = dictValue;即可
  • 不想写循环的话可以用LINQ一行完成转换,需要额外引入using System.Linq;,写法如下:
if (data["parameterName3"] is JArray param3Array)
{
    parameterName3 = param3Array.ToDictionary(
        item => item["parameterName3Key"].Value<string>(),
        item => item["parameterName3Value"].Value<string>()
    );
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:06:20