【发布时间】:2019-11-12 08:36:49
【问题描述】:
我想通过 Newtonsoft Json 库读取 JSON 字符串。它适用于任何基本数据类型,但不适用于List<double> 或任何List。
测试应用程序如下所示:
static void main()
{
string jsonString = @"
{
'name': 'set1',
'Xvv': {
'parameter': 'hByT',
'values': '[1,2,3]'
}
}";
JObject Json = JObject.Parse(jsonString);
var name = Json["name"].ToString();
var data = Json["Xvv"]["values"].Value<List<double> >(); // Raises error
}
最后一行抛出如下异常:
System.InvalidCastException:从“System.String”到“System.Collections.Generic.List”的无效转换
有没有办法以List<double> 的身份直接访问数据?
【问题讨论】:
-
您能否阐明您想要发生的事情与当前代码发生的事情?我不清楚你在这个问题中寻找什么。 (我个人不会在这里使用插值字符串 - 你没有使用任何插值,这意味着双括号。我也可能使用撇号而不是双引号,最后是
.Replace('\'', '"')。它使JSON 更易于阅读。) -
我已经更新了整个问题,因为它现在更有意义了。