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

使用JObject解析嵌套数组JSON失败的问题排查

问题原因
  • 变量声明的类型与JSON实际结构不匹配:JSON中的xyz和xy都是二维数组结构,你的代码里分别声明为List<float>和List<int>一维集合,类型不对应
  • 方法使用错误:JToken.Value<T>仅适用于提取单个基础类型值(比如数字、字符串、布尔值),转换集合类型需要调用ToObject<T>方法
修复后的代码
// 确保已引入Newtonsoft.Json.Linq命名空间
JObject resultantData = JObject.Parse(inputString);
List<List<float>> xyz = resultantData["data"]["xyz"].ToObject<List<List<float>>>();
List<List<int>> xy = resultantData["data"]["xy"].ToObject<List<List<int>>>();
可选优化方案(强类型反序列化,更易维护)

先定义和JSON结构完全匹配的实体类:

public class Root
{
    public int status { get; set; }
    public Data data { get; set; }
}

public class Data
{
    public List<List<float>> xyz { get; set; }
    public List<List<int>> xy { get; set; }
}

直接全量反序列化即可:

Root result = Newtonsoft.Json.JsonConvert.DeserializeObject<Root>(inputString);
var xyz = result.data.xyz;
var xy = result.data.xy;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:12:04